不允许在未连接的套接字上进行操作 - C# 4.0 [英] Operation not allowed on non-connected Sockets - C# 4.0

查看:14
本文介绍了不允许在未连接的套接字上进行操作 - C# 4.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

它一直有一个错误在非连接的套接字上不允许操作"

It keeps having an error "Operation not allowed on non-connected sockets" on the line

var ServerStream = Connect2Server.GetStream();

我真的不知道为什么

下面是该函数的其余代码

Below is rest of the code for that function

var buffersize = 0;
var Convert2Tet = new ASCIIEncoding();
var Connect2Server = new TcpClient();
var ServerEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8801);
var ServerStream = Connect2Server.GetStream();

Console.WriteLine("Connecting to Server");

Connect2Server.Connect(ServerEndPoint);
var WelcomeMessage = new byte[4096];
ServerStream.Read(WelcomeMessage, 0, 4096);

Console.Write(Convert2Tet.GetChars(WelcomeMessage));

var UserCredentials = Console.ReadLine();
buffersize = Convert2Tet.GetByteCount(UserCredentials);

var Credentials = new byte[buffersize];
Credentials = Convert2Tet.GetBytes(UserCredentials);

ServerStream.Write(Credentials, 0, buffersize);

推荐答案

您必须先 Connect() 才能获得 NetworkStream.

You gotta Connect() before you can get the NetworkStream.

文档通常非常适合此类内容.在 Exceptions 下">GetStream,你会看到:

The documentation is usually pretty good for this kinda stuff. Under Exceptions in the help for GetStream, you'll see:

无效操作异常:TcpClient 未连接到远程主持人.

InvalidOperationException: The TcpClient is not connected to a remote host.

这篇关于不允许在未连接的套接字上进行操作 - C# 4.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆