7
我已经编写了一个使用Java NIO API执行非阻塞IO的服务器。我发现偶尔客户端应用程序突然关闭(例如,由于断电)并且连接在服务器端保持打开状态。NIO - 检测已关闭的连接
一位同事遇到了同样的问题,并说他在线上使用心跳检测这种事情,但我希望有一个更简单的方法。有其他人遇到过这个问题吗?
一些额外的信息:我的当前服务器设计将取消一个密钥,并关闭相应的通道,如果它在尝试读取/写入操作时捕获到IOException
。这种方法似乎在99%的时间内工作;我只看到了一些连接似乎处于打开状态的情况。
谢谢ZZ编码器 - 这就是我认为(担心)。我很惊讶这不是TCP的一个特性。 – Adamski 2009-09-30 15:02:24
“平”而不是,这些应用程序不是人类 - 你知道。 – 2011-03-22 21:01:45