【问题标题】:Unable to read data from the transport connection: A blocking operation was interrupted by a call to WSACancelBlockingCall无法从传输连接读取数据:阻塞操作被 WSACancelBlockingCall 调用中断
【发布时间】:2018-05-23 16:42:35
【问题描述】:

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

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

知道可能是什么问题吗?

【问题讨论】:

  • 有什么解决办法吗?

标签: tcpclient


【解决方案1】:

如果您对底层流的任何读取器或写入器调用 .Close()。然后尝试使用该读取器或写入器,然后您将收到此错误。

【讨论】:

    【解决方案2】:

    在所有.Close(); 调用之后,还要关闭调用这些读取器/写入器的线程。就像在this讨论中的类似代码一样,只需在调用.Close(); for流的两个地方添加.Abort();即可解决问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-22
      • 2021-02-03
      • 2013-10-06
      • 1970-01-01
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多