将数据从网络服务器推送到浏览器的方法

Posted

技术标签:

【中文标题】将数据从网络服务器推送到浏览器的方法【英文标题】:Methods for pushing data from webserver to browser 【发布时间】:2017-08-14 18:24:51 【问题描述】:

我经常发现自己需要用服务器的最新信息更新客户端浏览器。为此,我通常通过 ajax 执行定期 XHR。它不是很敏感,因为它严重依赖于间隔。 我想知道是否有“更好”或更现代的选择。

让我们以即时通讯为例。如果您查看 facebook 等网站,消息实际上会立即传递给客户端。但是在检查浏览器工具时,我没有看到任何周期性的 XHR。 所以我想知道大型网络应用程序正在使用什么样的技术?他们怎么能反应这么快?有没有真正的“推送”机制?

我已经了解Push API and Web notifications. 等技术 但这些似乎用于内置浏览器通知。

我希望这个问题不要太宽泛。我尝试过搜索文章,但找不到足够技术性的文章。

【问题讨论】:

【参考方案1】:

我会说 Facebook 可能正在使用 IRC。 & 我想说的是,大多数大型网络应用程序都在使用某种形式的 IRC 进行通信。

您应该能够找到一些好的 php IRC 资源,这些资源比通过 AJAX 的定期 XHR 工作得好得多。

XHR 的真正目的是获取一组信息。每隔一分钟或更短时间不断地对几个人进行这样的爆炸,我想这对你的服务器来说会很痛苦。

您不会将 curl 和 xml 用于聊天客户端,可能会用于支持票证聊天客户端。

【讨论】:

以上是关于将数据从网络服务器推送到浏览器的方法的主要内容,如果未能解决你的问题,请参考以下文章

将更新从 Python 服务器推送到 Web 界面

使用Pushlet将消息从服务器端推送到客户端

GCM 推送通知,其中消息从移动设备推送到 GCM 服务器

如何将 Reactjs 日志和指标推送到 Grafana

使用 AFNetworking 将 Firebase 通知从 ios 设备推送到花药

Android:推送数据通知