我正在使用 Servlet 3.0 的javax.servlet.AsyncContext接口实现服务器发送事件。
但是我不明白我应该如何处理 I/O 错误,比如对等断开连接。
对于给定的AsyncContext ac = request.startAsync()
,我可以打电话ac.getResponse().getWriter().print(something)
,然后ac.getResponse.getWriter().flush()
它工作正常。但是,当客户端断开连接时,我没有收到错误 - 即使我附加了一个侦听器,它的onError
方法也不会被调用。
我使用 Jetty 8 和 Tomcat 7 对其进行了测试,似乎没有将与客户端的断开连接报告回应用程序。
可以做些什么来检测通信错误?