WHY
在网络世界中, 各个计算机之间要想协同工作, 时间同步是一个十分重要的基础. 在计算机内部是有自己的时间的, 这个时间通过内部的晶体振荡器差生的固定频率, 来模拟时间流逝进行计算....好了, 现在, 在另一个地方, 有一个标准时间, 如何将这个标准时间通过网络同步到你的本地计算机呢? 如何在同步的过程中, 尽量消除网络延迟带来的影响呢?...别忘了, 包在网络中传输也是需要时间的, 这个请求从对方发出, 至到达本地计算机, 经过了多久你并不知道, 这中间的延迟会严重影响时间校准的结果....既然延时无法消除, 如果我们能够知道这个延时的时间, 也可以通过计算消除延迟的影响....步骤如下:
da = (C2 - C1) - (S2 - S1) # 总延时时长
d = da / 2 # 单次延时时长
SC1 = S1 - d
SC2 = SC1 + (C2 - C1)
如何?