【发布时间】:2014-02-05 15:55:23
【问题描述】:
我正在根据this 指南编写服务器和客户端。我的服务器不断地向客户端发送一些数据。
当一个客户端由于意外问题(通常是 LAN 电缆断开或断电)断开连接时,除了服务器 GUI 挂起(没有响应)几秒钟外,一切都很好。然后在挂起几秒钟后抛出套接字异常。坐在服务器计算机上的人不舒服。 如果客户端正确断开连接,则不会导致任何挂起问题,而不是因为停电。 原因是什么?如何摆脱这种悬垂?
【问题讨论】:
我正在根据this 指南编写服务器和客户端。我的服务器不断地向客户端发送一些数据。
当一个客户端由于意外问题(通常是 LAN 电缆断开或断电)断开连接时,除了服务器 GUI 挂起(没有响应)几秒钟外,一切都很好。然后在挂起几秒钟后抛出套接字异常。坐在服务器计算机上的人不舒服。 如果客户端正确断开连接,则不会导致任何挂起问题,而不是因为停电。 原因是什么?如何摆脱这种悬垂?
【问题讨论】:
为套接字、连接等使用单独的线程。 当任务可能需要时间时,UI 线程应保持独立。
如果对线程感到不舒服,那么您可以在代码中使用Application.DoEvents() 方法。虽然我不推荐使用这个。
【讨论】: