Jetty -检测断开连接的客户端(延续)



我使用带有Continuations的Jetty来实现长轮询,但是我没有看到检测客户端断开连接的方法。

我理解在第一次运行(创建Continuation)和任何后续运行之间的时间内,由于HTTP的性质,客户端和服务器之间可能没有流量,但我可以在尝试发送消息返回(服务器调用Continuation)时检测到客户端被断开连接。

我一直在试图找到一种方法来检测作者实际上不是在给客户写信,但我似乎找不到。

在java中,如果不尝试写入连接并捕获失败,则无法知道客户端已断开连接。如果您试图编写自己的长轮询实现,我的建议是简单地使用cometd (cometd.org),因为它已经完成了所有这些,并为您提供了完整的消息传递语义。如果这不起作用,您仍然需要自己编写,那么该项目是一个很好的例子,说明如何最好地使用延续(或servlet 3.0异步servlet)。

最新更新