我在Windows操作系统上基于IO重叠网络编程范例设计,编程和实现了一个服务器应用程序。它与预期的性能很好地协调,据观察,在任意选择的客户端中,有时没有任何反应,数据传输似乎是冻结的。它甚至不会产生任何TCP / IP错误条件,如超时或任何。在这种情况下,服务器将该连接保持为活动连接,这又是不必要的资源预留。这可能是什么原因?作为一个解决方案我怎么能检测到这种连接。我怎样才能减少这种情况 Thankx
答案 0 :(得分:0)
这可能是什么原因?
客户已停止发送或接收,但您的问题并不清楚。
作为一种解决方案我怎样才能检测到这种连接。我该如何减少这种情况?
如果您正在阅读,请使用读取超时;如果您正在撰写,请使用定时select()
的非阻止模式。