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

HTML client receiving continous stream of server output data

本文关键字:服务器 输出 数据流 连续 客户 客户端 端接 HTML      更新时间:2023-09-26

对于登录的用户,接收由服务器生成的消息,实现能力的最佳机制是什么?由于服务器没有办法向用户发送信息,当有新消息要传递时,用户浏览器应该以特定的间隔轮询,以便在响应中接收新消息,另外,服务器应该有办法不发送已经传递给用户的消息。您可以使用类似公共聊天机制的东西绘制连接,但我需要的是接近实时的消息延迟,并且能够同时处理大约100个用户,从而尽可能减少流量。附加说明:只有当用户在线时才需要数据,不需要将该数据存储在服务器中,以便其他用户读取"历史"。

在我看来,有一种方法可以实现这一点-全局"消息框",服务器放置所有消息,用户浏览器不断轮询服务器,检查,如果最后收到的消息ID等于消息框中的最后消息ID。

问题是,如果这是正确的方法,或者还有其他方法来完成这些任务,因为实时数据的需求无处不在:传感器数据,多人游戏,聊天,股票市场等等…

XEP-0124:双向流Over Synchronous HTTP (BOSH)

https://github.com/ssoper/jquery-bosh

使用XMPP构建基于web的通知工具使用XMPP、PHP和JavaScript编写实时web应用程序

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

看看html 5的websockets。

这里有一个演示

你看过彗星吗?

Comet是一个web应用模型长时间保存的HTTP请求允许哪些将数据推送到web服务器浏览器,没有浏览器明确请求。

如果你搜索stackoverflow,有很多关于它使用的信息