gpt4 book ai didi

php - 高效地重新加载数据/将数据从服务器推送到客户端

转载 作者:可可西里 更新时间:2023-11-01 12:33:38 26 4
gpt4 key购买 nike

当涉及到将数据从网络服务器重新加载到前端时,我正在寻找“要走的路”(即最有效、最常用、普遍接受的方式)。在最终应用程序中,我将有几个必须写入数据的输出字段,例如:

enter image description here

最终应用程序中的数据流将不同。必须使用来自服务器的最新数据重新加载这些行。

我一直在考虑使用 Ajax 请求来每秒更新一次,但必须有其他方法才能做到这一点。 Ajax 请求会导致大量的数据流量。此外,在使用 Facebook 聊天时,您不必每秒都在等待,几乎可以立即收到聊天消息。然而,当我使用 Mozilla Firefox 的开发人员工具时,我没有看到发出任何 Ajax 轮询请求。这让我想到是否有不同的方法来做到这一点。

我研究过 Node.js,但我的主机似乎无法做到这一点。

我听说有人在谈论 Ajax Push,这是我应该使用的吗?如果是这样,你能给我一个基本的用法示例吗?

如果不是,当有多个数据流必须在一秒钟内重新加载时,那么 应该怎么办?

要求是速度低数据流量。因此,我认为连续轮询服务器不是一种选择,因为这会产生巨大的开销。

我认为这不重要,但我在后端使用 PHP5.3,在前端使用 JavaScript 和 jQuery 1.9.1。

最佳答案

此问题已被问过多次,但方式略有不同。以下是一些值得一读的引用资料:

总结:如果您正在考虑在 Apache 上使用 PHP 构建解决方案,那么保持打开的持久连接(HTTP 长轮询或流式传输)将很快耗尽资源(效率非常低) ).所以,你最好使用 hosted solution (*免责声明 - 我为托管解决方案工作)。

HTTP-Long polling 和 HTTP Streaming 是已被 Server-Sent Events 和 WebSockets 取代的解决方案。因此,在可能的情况下(在 Web 客户端提供支持的情况下),您应该在回退到基于 HTTP 的解决方案之前使用这些解决方案之一。一个好的实时网络技术会自动为你处理这个。

由于您的图表显示您正在订阅多个数据流,因此您还应该考虑 Publish/Subscribe自然适合这个的解决方案。同样,一个好的实时网络技术解决方案将为您提供这一点。

另见 realtime web technology guide .

关于php - 高效地重新加载数据/将数据从服务器推送到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16122911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com