gpt4 book ai didi

node.js - 确保最准确的同步

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:56 24 4
gpt4 key购买 nike

首先我会解释我的问题:我有一个node.js 服务器和许多通过socket.io 接收事件的JS 客户端。Web 应用程序将结束日期(时间戳)发送到 Node.js 服务器,然后 Node.js 将此时间戳广播给所有客户端。然后客户端从现在到给定日期启动一个计时器...

我的问题:我的客户想要一个完全同步的应用程序,因此每个客户端在每个时刻都必须具有相同的计时器计数...但是每个客户端没有相同的当前日期,因此计时器计数不同。

我的第一个解决方案:我的网络应用程序会在每个请求中发送当前时间戳,因此,node.js 会广播此时间戳。然后,每个客户端将其当前时间戳与服务器的时间戳进行比较,并将差异应用于他的计时器...

结果:它更好但并不完美。有些计时器不同步(在我看来是由于请求延迟),并且我看到了一些毫秒(不到一秒)的差异。

那么,您有改进计时器的建议吗?

谢谢大家。

最佳答案

分组交换网络上的时间同步是一个难题,因为网络中 Node 之间的传输延迟是未知的。我的建议是:不要尝试自己解决这个问题。只需要求服务器和所有客户端都运行具有良好配置的 NTP,使它们能够与良好可靠的源同步时间。让 NTP 来解决这个问题。

关于node.js - 确保最准确的同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14690841/

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