gpt4 book ai didi

javascript - 使用node.js和socket.io向客户端发送信息时的延迟

转载 作者:行者123 更新时间:2023-12-02 23:47:56 26 4
gpt4 key购买 nike

我有一个用 node.js 编写的带有计时器功能的应用程序。每当一秒过去,服务器就会向每个连接的客户端发送新的时间值。虽然这在本地主机上运行得很好,但在线托管时却非常不稳定。客户端不会立即更新,并且该值有时会一次跳跃两到三秒。

但是,我发现,如果我重复将计时器数据发送到客户端(使用 setInterval),它会完美运行,没有任何延迟。

有人知道为什么会出现这种情况吗?对我来说,为什么更频繁地发送相同的数据就能解决问题是没有意义的。如果有的话,这不是应该更慢吗?我想我可以使用这种方法并让客户端在更新时通知服务器,但这似乎不必要且效率低下。

我对 Node.js 很陌生,但这让我感到困惑。任何见解将不胜感激。

最佳答案

您在哪里托管它?它支持网络套接字吗?有些主机不支持/允许它们。我的猜测是您的主机不允许 websockets 并且 socket.io 正在回退到轮询传输。

在浏览器中,您可以找到 websocket 连接并在开发人员工具中检查它: How do you inspect websocket traffic with Chrome Developer Tools?

如果未经历 101 Switching Protocols http 状态来成功将第一个请求升级到 Websocket,您将在开发人员工具中看到轮询请求重复出现。

关于javascript - 使用node.js和socket.io向客户端发送信息时的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55770123/

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