2010-11-13 12 views
4

Il maintient avoir une erreur « Opération non autorisée sur les sockets non connectés » sur la ligneOpération non autorisée sur les sockets non connectés - C# 4.0

var ServerStream = Connect2Server.GetStream(); 

Et je ne suis pas vraiment sûr pourquoi

est ci-dessous reste du code pour cette fonction

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

Répondre

9

tu dois connecter() avant de pouvoir obtenir NetworkStream.

La documentation est généralement très bonne pour ce genre de choses. Sous Exceptions dans l'aide pour GetStream, vous verrez:

InvalidOperationException: Le TcpClient n'est pas connecté à un hôte distant .

Questions connexes