Java HTTP push (messaging) 的最佳解决方案 [已关闭]

2022-09-03 01:59:23

我们希望将数据从服务器推送到客户端,但只能使用HTTP(端口80)。消息传递的最佳解决方案是什么?一个想法是彗星。是否有其他想法或框架可以通过HTTP提供JMS。(是的,ActiveMQ也支持它,但恕我直言, 摇摆不定。JXTA也支持它,但配置很复杂。最好是简单的东西。


答案 1

出于许多原因,最简单的解决方案是使用基于彗星的方法(就像你提到的)。这意味着客户端(要向其“推送”消息)打开长期存在的 HTTP 连接。这些连接将保持打开状态,直到它们超时或您向客户端发送消息。一旦发生任何一种情况,客户端就会打开一个新连接。

由于多种原因,直接连接到客户端可能会有问题:它们可能位于不允许这样做的防火墙后面,它们可能位于代理后面等等。

除非你的客户端是真实的服务器(在这种情况下,你真的是客户端),否则请他们与您联系并发送响应以模拟推送。


答案 2

AtmosphereDWR 都是开源框架,可以在 Java 中使 Comet 变得容易。


推荐