从服务器发送给客户端的消息

时间:2009-09-24 10:47:43

标签: java ruby-on-rails applet push server-push

我必须设计一个在运行 Ruby on Rails 的网站上模拟的客户端/服务器系统,它应该像这样工作:

网页浏览器请求页面,一旦打开,服务器就可以推送消息

我知道“自然”这是不可能的,但我正在考虑在该页面上运行的某种“Java applet”,在端口上侦听托管服务器发送的消息。这应该是打开一种套接字,它可以监听服务器可以连接的某个端口以发送消息。

可以这样做吗?我是否必须开发一个java服务器线程,或者我可以通过它的ip地址和端口简单地解决客户端applet并使用来自服务器的任何Web服务连接?

感谢, 卢卡

5 个答案:

答案 0 :(得分:2)

彗星肯定是你想要的。根据您的需要,您可以托管自己的彗星服务器,或使用SaaS解决方案,例如WebSync On-Demand(免责声明:我在那里工作)。使用SaaS的东西,您可以获得服务器推送功能,而无需实际运行自己的彗星服务器。

答案 1 :(得分:1)

最简单的方法是使用Javascript来模拟推送机制。在大多数情况下,使用AJAX定期轮询就足够了。还要看Comet

答案 2 :(得分:0)

使用Java applet的另一种方法可能是使用javascript和称为Comet的方法的组合。简而言之,Comet是一种启用服务器推送HTTP的方法。我不是真正的铁杆上的红宝石,但快速谷歌搜索铁轨上的红宝石和彗星网有相当多的有用信息。

答案 3 :(得分:0)

你看过juggernaut

了吗?

答案 4 :(得分:0)

如果你想进入applet路由,你需要建立从applet到服务网页的同一服务器的连接。小程序无法收听。建立TCP连接后,它就是一个双向通道,只要您的协议允许,您就可以拉或推。这就是大多数基于Applet的聊天客户端的工作方式。

越来越多的人只是在Javascript中使用长轮询。让一个可靠的长轮询系统运行非常复杂,我建议你使用一个框架。例如,

http://cometdproject.dojotoolkit.org/