同步客户端和服务器端时间
Synchronizing client-side and server-side times
我有一个web服务,可以收集实时市场数据并将其显示在web前端。
我的前端(jQuery)需要显示一个时钟,与服务器时钟有些同步(+-几秒钟就可以了)。
我想在客户端加载时,将UTC时间戳与服务器提供的其余数据一起提供。
然后,我会启动一个计时器,每隔1秒就会增加显示的时钟。
这是一个好方法还是使用时间服务器更好?
谢谢!
您需要考虑网络延迟。来自服务器的数据不会立即到达您的手中。我建议使用克里斯蒂安算法:
- 客户端标记当前客户端时间(T1)并向服务器发送请求
- 服务器向客户端发送时间(T2)
- 客户端接收服务器的应答并再次标记其当前时间(T3)
- T3-T1是往返服务器(RTT)所需的总时间请求。现在我们可以假设,从服务器到客户端大约需要一半的时间。所以,你的"正确"时间是T2+(T3-T1)/2
在wikipedia 上阅读更多关于时钟同步算法的信息
相关文章:
- 如何使用skip参数使用angular ui引导进行服务器端分页
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 同步客户端和服务器端时间
- 有没有一种方法可以在没有服务器端语言的情况下完成http头请求并获得时间
- 服务器端和特定于时间的脚本执行
- 定时器、时区、服务器端时间、客户端倒计时
- REST API测量服务器端响应时间(性能)
- 方法时间的Javascript服务器端日志记录
- 在没有服务器端编码的情况下获取特定的twitter用户时间线
- 我应该如何在服务器端存储来自JS的时间戳,以便我可以可靠地使用它转换为其他时区?
- Javascript倒计时使用服务器端时间来完成
- 获取服务器端时间和客户端时间之间的差异并显示它
- 如何获得从服务器端到客户端文件的下载时间- Asp.Net
- 使用服务器端时间的javascript倒计时
- 时间检查:服务器端或客户端
- 正在测量服务器响应时间(客户端)
- 在服务器端Node.JS上倒数到一个时间并发送一个页面的响应