Java / Tomcat服务器的最佳Comet / Push技术?

时间:2011-11-07 16:38:29

标签: java tomcat push comet

我目前正在开发一个可能需要将信息“推送”到客户端的Web应用程序,我想知道在Java / Tomcat环境中实现这一点的最佳方法是什么。我查看了Web套接字,但似乎浏览器支持仍然有点缺乏。我目前正在查看org.apache.catalina.CometProcessor接口,但我想知道是否有人有任何好的建议。感谢

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

在Javascript / Java(没有Tomcat)环境中有类似的问题需要解决。我使用长期民意调查作为基础技术。

  • 客户端轮询服务器
  • 服务器保持连接最长时间(在我的情况下为20秒)
    • 如果在服务器端触发了某个事件,则会通知所有客户端连接处理程序(向客户端发送一个messeage)并且结束长轮询
    • 如果没有任何反应,则长轮询以空消息结束
  • 在长轮询连接被记录后,它会再次启动。

在我的情况下,我不得不关心一些代理,这些代理在没有数据传输的情况下长时间打开http连接有问题。所以我选择20秒作为保持http传输打开的最长时间。与http keep-alive结合使用,您还可以减少轮询时从单个客户端打开的连接数。

希望有所帮助。