WHY
在网络世界中, 各个计算机之间要想协同工作, 时间同步是一个十分重要的基础. 在计算机内部是有自己的时间的, 这个时间通过内部的晶体振荡器差生的固定频率, 来模拟时间流逝进行计算....好了, 现在, 在另一个地方, 有一个标准时间, 如何将这个标准时间通过网络同步到你的本地计算机呢? 如何在同步的过程中, 尽量消除网络延迟带来的影响呢?...HOW
如果直接进行网络请求, 然后拿到一个返回时间戳并修改本地时间可不可以呢? 显然不行....步骤如下:
da = (C2 - C1) - (S2 - S1) # 总延时时长
d = da / 2 # 单次延时时长
SC1 = S1 - d
SC2 = SC1 + (C2 - C1)
如何?...$t2 = time();
如果, 在获取t1变量后, 正巧进行了时间同步, 那么t2有可能小于
ntp: 时间平滑过度, 保证本地时间递增, 一点点减少本地与远端的时间差.
ntpdate: 立即进行同步