我有一个web服务,收集实时市场数据并在网页前端显示。我的前端(jQuery)需要显示一个时钟,与服务器时钟大致同步(误差几秒钟没问题)。我考虑在客户端加载时,除了提供其他数据外,还提供一个UTC时间戳。然后我会启动一个定时器,每秒钟增加一次显示的时钟。这是一个好方法,还是使用时间服务器更好?谢谢!
您需要考虑网络延迟。来自您服务器的数据不会立即到达您手中。我建议使用Cristian算法进行操作: 客户端记录当前客户端时间(T1)并向服务器发送请求。 服务器将其时间(T2)发送给客户端。 客户端接收服务器答复并再次标记其当前时间(T3)。 T3 - T1是需要到达服务器和返回所需的总请求时间(RTT)。现在我们可以假设从服务器到客户端需要大约一半的时间。 因此,您的“正确”时间为T2 +(T3-T1)/ 2 阅读有关时钟同步算法的维基百科更多信息。