T0:客户端发给服务端时的时间戳
T1:服务端接收到时间戳
T2:服务端发给客户端时间戳
T3:客户端接收到时间戳
网络来回总延时: delay = (t3 - t0) - (t2-t1)
展开来看:设t0到t1,t2到t3的网络延迟相同,则
t1 = t0 + delta + delay/2
t3 = t2 - delta + delay/2
则客户端与服务端时间差: delta = ((t1-t0) + (t2-t3)) / 2
不过这是理想情况下的时间差,实际中上传和下发的网络延迟是不同的。
若客户端和服务端的时间差为0,则可以单独求出上传和下发的网络延迟。
更细的方面可以看下NTP协议相关内容。