1

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

我知道在第一次运行(创建延续)和任何后续运行之间的时间里,由于 HTTP 的性质,客户端和服务器之间可能没有流量,但我可以解决只是能够检测到客户端正在尝试发回消息时断开连接(服务器调用继续)。

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

4

1 回答 1

0

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

于 2013-04-24T13:32:02.067 回答