抢购倒计时如何去除时差

Kerlin0722 发布于 2014/11/17 23:50
阅读 467
收藏 1
倒计时抢购页面如何解决网络获取服务器时间延迟和页面加载延迟导致的时差,求解答。感谢。
加载中
0
优雅先生
优雅先生
倒计时开始前,客户端时间和服务端时间同步并根据网络延迟时间校准。
Kerlin0722
Kerlin0722
如何根据网络延迟校对时间呢?
0
Tuesday
Tuesday

统一用国际标准时区

utc

0
优雅先生
优雅先生

引用来自“优雅先生”的评论

倒计时开始前,客户端时间和服务端时间同步并根据网络延迟时间校准。
回复 @LAMPYoung : 你发送一个请求到服务端,发送请求前先记录客户端系统时间,比如是t1:2014-11-18 09:59:57。服务端收到请求,把服务器系统时间返回给你比如是t2:2014-11-18 10:00:00。你接收到服务端发回的请求,再看下客户端系统时间,比如是t3:2014-11-18 10:00:01。(t3-t1)/2大概能估算出往或者返一次的网络延迟时间,即2s。然后t1+(t3-t1)/2-t2就是客户端与服务器的时间误差了,比如这里得到-1s,即客户端比服务端慢1s(如果得到正值则说明客户端比服务端时间快)。这种方法比较粗略,所以可以采用多次发请求取平均值方法(取平均值前剔除最大最小值)。
Kerlin0722
Kerlin0722
试试看,谢谢。
返回顶部
顶部