Операция не разрешена на неподключенных сокетах - C # 4.0 - PullRequest
6 голосов
/ 13 ноября 2010

Появляется ошибка «Операция не разрешена для неподключенных сокетов» в строке

var ServerStream = Connect2Server.GetStream();

И я не совсем уверен, почему

Ниже приведен остальной коддля этой функции

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);

1 Ответ

14 голосов
/ 13 ноября 2010

Вы должны подключиться (), прежде чем сможете получить NetworkStream.

Документация обычно довольно хороша для такого рода вещей. В разделе Исключения в справке для GetStream вы увидите:

InvalidOperationException: TcpClient не подключен к удаленному хозяйничать.

...