无法从传输连接读取数据:通过调用WSACancelBlockingCall中断阻塞操作

时间:2012-03-06 16:25:20

标签: tcpclient

我正在开发一个客户端 - 服务器聊天应用程序,当我关闭客户端窗口时遇到以下异常。

无法从传输连接读取数据:通过调用WSACancelBlockingCall中断阻塞操作。

知道可能是什么问题吗?

2 个答案:

答案 0 :(得分:4)

如果您在任何读者或基础流的编写者上调用.Close()。然后尝试使用该读者或作者,然后你会得到这个错误。

答案 1 :(得分:1)

在所有.Close();调用之后,还关闭调用这些读者/编写者的线程。与正在讨论的this类似代码一样,只需在调用流的.Abort();的两个位置添加.Close();即可解决问题:

            swSender.Close();
            srReceiver.Close();
            tcpServer.Close();
            thrMessaging.Abort(); // this needed to be added to solve the problem