2

我需要客户端时间来镜像服务器端时间。有没有这方面的最佳实践?

我不确定我将如何确保两者匹配。

谢谢!

4

2 回答 2

2

答案取决于您的意思,因为您的措辞并没有真正提供足够的信息来了解您为什么希望不同机器的时间相同。.

如果您的意思是“我希望将所有系统时钟设置为同一时间”,那么您需要搜索与网络时间协议相关的内容。Google 可以为您提供介绍材料的链接,并且该站点上还提供了 NTP 概述。但这不是 Node.js 或编程问题……答案可能非常特定于操作系统……如果您不拥有所有客户端,那么您就不走运了

如果您的意思是“我希望所有事件在所有客户端上同时发生,即使系统时钟不同”,那么这里已经存在一个包含所有这些答案的问题

祝你好运。

于 2013-04-30T01:21:03.990 回答
2

网络时间协议具有一种算法,用于在考虑网络延迟的同时在机器之间同步时间。

如果您要使用 AJAX 或(甚至更好的)websockets 实现这样的算法,那么您最终会得到一个保存本地机器时间和服务器时间之间差异的值。

每当您在客户端进行时间计算时,您都可以利用该时间差值来调整输出以合理地接近服务器时间。它永远不会是准确的,但您可能会在 100 毫秒内完成大多数连接。

于 2013-04-30T01:10:14.173 回答