HTML客户端接收连续的服务器输出数据流

问题描述:

什么是最好的机制,用于实现登录的用户的能力,接收由服务器生成的消息。由于没有办法为服务器发送信息给用户,当它有新消息要发送时,用户浏览器应轮询一些特定的时间间隔,以接收新的消息作为响应,另外,应该有一种服务器方式,不发送已发送给用户的消息。你可以通过公共聊天机制来获得连接,但我需要的是尽可能接近实时的消息延迟,并且能够同时处理大约100个用户,从而使尽可能少的流量成为可能。附加说明:仅当用户在线时,才需要数据,不需要将该数据存储在服务器中,以供其他用户阅读“历史记录”。在我看来,有一种实现这种方式的方法 - 全局“消息框”,其中服务器放置所有消息,用户浏览器不断轮询服务器,检查最后收到的消息ID是否等于最后一个消息ID消息框。HTML客户端接收连续的服务器输出数据流

问题是,如果这是正确的方式来做到这一点,或者有任何其他方式来完成这些任务,因为随处可以找到实时数据的需求:传感器数据,多人游戏,聊天,股票市场等等。 。

是不是推行更好的策略?在服务器和浏览器之间保持打开tcp连接,并在新信息可用时将更改传输到浏览器。

看看html 5 websockets。 (这正是这一点)

继承人demo

+0

“套接字不支持”,嗯...有更多的方法,这是由大多数浏览器支持? – Deele 2011-05-05 10:58:57

+0

很多,像@Alex K这样的彗星正在提及。我知道一个名为APE(http://www.ape-project.org/ajax-push.html),但也有商业产品,如lightstreamer – netbrain 2011-05-05 11:17:35

你有没有看Comet

彗星是在 一个Web应用程序模型,一个长期持有的HTTP请求允许 Web服务器将数据推到浏览器 ,没有浏览器 明确要求它。

如果您搜索stackoverflow有大量关于它的使用信息。

+0

没有,会看到,如果它符合我的需求。 – Deele 2011-05-05 11:27:41