Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当客户端意外关闭时,Networkstream读取引发错误_C# - Fatal编程技术网

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循环,但我错了