C#服务器程序引发异常
我已成功地将客户端程序连接到服务器,但在尝试对服务器进行基本写入时出现错误 System.ArgumentOutOfRangeException:指定的参数超出有效值的范围。C#服务器程序引发异常,c#,client-server,C#,Client Server,我已成功地将客户端程序连接到服务器,但在尝试对服务器进行基本写入时出现错误 System.ArgumentOutOfRangeException:指定的参数超出有效值的范围。 位于System.Net.Sockets.NetworkStream.Read(字节[]缓冲区,Int32偏移量,Int32大小) 这是我的代码,不包括连接和停止连接 while ((true)) { try { requestCount = requestCount + 1; Ne
位于System.Net.Sockets.NetworkStream.Read(字节[]缓冲区,Int32偏移量,Int32大小) 这是我的代码,不包括连接和停止连接
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());
}
}
您读取的内容超出了提供的缓冲区的大小,请尝试:
networkStream.Read(bytesFrom, 0, bytesFrom.Length);
非常好,现在可以工作了,谢谢我是服务器/客户端新手programs@JeradHobgood如果这个答案解决了你的问题,请考虑把它标记为一个答案,以显示一些赞赏和帮助未来的读者