2009-09-24 264 views
0

我要设计仿真on Rails的运行红宝石网站上的客户机/服务器系统应该像这样工作:消息,从服务器的客户端

一个页面是由web浏览器请求和一旦它打开服务器可以推消息

我知道这是不可能的“自然”由托管服务器发送。这应该完成打开一个套接字来侦听服务器可以连接的某个端口来发送消息。

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

感谢, 卢卡

回答

1

做到这一点的最简单的方法是使用JavaScript来模拟推送机制。在大多数情况下,使用AJAX定期轮询是足够的。也看看Comet

0

使用java小应用程序的替代方法可能是使用javascript和称为Comet的方法的组合。简而言之,Comet是通过HTTP启用服务器推送的一种方式。我不是一个真正的红宝石的人,但快速谷歌搜索轨道上的红宝石和彗星网有相当数量的有用信息。

0

如果你想要去的小程序的路线,你需要从applet来在网页服务的同一服务器的连接。该applet不能听。一旦建立了TCP连接,它就是一个双向通道,只要你的协议允许,你可以拉或推。大多数基于Applet的聊天客户端就是这样做的。

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

http://cometdproject.dojotoolkit.org/

2

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

相关问题