我一直在使用Tomcat 7.0.4的新Servlet 3.0异步功能。我发现了这个聊天应用程序,它允许客户端挂起GET请求以获取消息更新。当接收消息时,这很有效。
但是,当客户端断开连接(即用户关闭浏览器)时,问题就出现了。尽管客户端已经断开连接,似乎服务器并没有引发
这是一个Tomcat的bug吗?还是我漏掉了什么?如果这不是一个bug,那么我该如何检测客户端是否已关闭连接?
但是,当客户端断开连接(即用户关闭浏览器)时,问题就出现了。尽管客户端已经断开连接,似乎服务器并没有引发
IOException
。源代码中的消息线程(请参见上面链接的源代码)仍然愉快地向所有存储的AsyncContext
输出流写入数据。这是一个Tomcat的bug吗?还是我漏掉了什么?如果这不是一个bug,那么我该如何检测客户端是否已关闭连接?