2016-09-14 5 views
2

ich erfolgreich mein Client-Programm auf meinen Server angeschlossen habe, versucht jedoch, wenn grundlegenden Schreib auf Server zu tun Ich erhalte FehlerC# Server-Programm wirft Ausnahme

System.ArgumentOutOfRangeException: Angegebene Argument außerhalb des Bereichs war von gültige Werte.
bei System.Net.Sockets.NetworkStream.Read (Byte [] Puffer, Int32 Offset, die Größe Int32) ist

Hier ist mein Code, um die Verbindung und Stoppen der Verbindung ohne

while ((true)) { 
    try { 
     requestCount = requestCount + 1; 
     NetworkStream networkStream = clientSocket.GetStream(); 
     byte[] bytesFrom = new byte[10025]; 

     //Problem 
     networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize); 
     string dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom); 
     dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$")); 

     Console.WriteLine(" >> Data from client - " + dataFromClient); 
     string serverResponse = "Last Message from client" + dataFromClient; 

     Byte[] sendBytes = Encoding.ASCII.GetBytes(serverResponse); 
     networkStream.Write(sendBytes, 0, sendBytes.Length); 
     networkStream.Flush(); 
     Console.WriteLine(" >> " + serverResponse); 
    } 
    catch (Exception ex) { 
     Console.WriteLine(ex.ToString()); 
    } 
} 

Antwort

3

Sie sind über die Größe des mitgelieferten Puffer zu lesen, versuchen:

networkStream.Read(bytesFrom, 0, bytesFrom.Length); 
+1

Perfekt funktioniert es jetzt, dank i bin neu in Server/Client-Programme –

+0

@JeradHobgood wenn diese Antwort Ihr Problem gelöst bitte erwägen Sie, es als eine Antwort zu markieren, um etwas Wertschätzung zu zeigen und zukünftigen Lesern zu helfen – Steve