C# 当客户端意外关闭时,Networkstream读取引发错误
我读过类似的问题,但我无法找到有效的解决方案。我有一个服务器,它创建了一个处理发送和写入数据的C# 当客户端意外关闭时,Networkstream读取引发错误,c#,C#,我读过类似的问题,但我无法找到有效的解决方案。我有一个服务器,它创建了一个处理发送和写入数据的ClientManager 导致错误的关键部分是如下所示: private void StartReceive(object sender, DoWorkEventArgs e) { String data = null; Byte[] bytes = new Byte[256]; while (this.socket.Connected)
ClientManager
导致错误的关键部分是如下所示:
private void StartReceive(object sender, DoWorkEventArgs e)
{
String data = null;
Byte[] bytes = new Byte[256];
while (this.socket.Connected)
{
int i = stream.Read(bytes, 0, bytes.Length);
if (i != 0)
{
data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
Console.WriteLine("Received: {0}", data);
stream.Write(bytes, 0, bytes.Length);
Console.WriteLine("Sent: {0}", data);
}
else
{
break;
}
}
this.Disconnect();
}
具体来说:inti=stream.Read(bytes,0,bytes.Length)代码>
我的客户端已连接并发送消息,然后我关闭服务器挂起的客户端应用程序。我不确定如何处理突然断开的连接,我假设读取字节为0,它将断开while循环,但我错了