数学研发网设为首页收藏本站

数学研发论坛

 找回密码
 欢迎注册
查看: 279|回复: 14

[原创] 如何精确计算 两台主机的本地时间差

[复制链接]
发表于 2017-7-25 22:16:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
两台互联的机器,不一定都接入互联网,如何计算本地时间的差?  要求尽可能的精确。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-7-28 10:29:03 | 显示全部楼层
两台机器能互通吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-7-28 14:06:40 | 显示全部楼层
282842712474 发表于 2017-7-28 10:29
两台机器能互通吗?

能互通。在一个局域网内
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-7-28 14:09:26 | 显示全部楼层
wayne 发表于 2017-7-28 14:06
能互通。在一个局域网内

精度要求多少,感觉网络会有延迟,做不了多精确~

点评

越精确越好。 目前有ms级的方案  发表于 2017-7-28 14:11
ms以内  发表于 2017-7-28 14:11
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-7-28 22:51:50 | 显示全部楼层
我想到一个笨办法,不知可行否?
1.在其中的一台机器上,开一个共享文件夹,以允许本机和另一台机器可以创建并写入文件。
2.在两台机器上同时运行2个同样的程序,这个程序以共享方法打开同一个文件,这样两个程序可以同时写入同一个文件,写入内容为主机名称和本机时间。运行一段时间后。关闭程序,检查文件内容,看相邻的行,就可以知道时间差了。

点评

这个要看怎么写文件。是通过什么网络协议。  发表于 2017-7-29 09:50
精度有多大  发表于 2017-7-29 09:42
作2次测试,第一次在A机器创建文件,第二次在B机器创建文件,可在一定程度上校正网络传输的误差。  发表于 2017-7-29 09:32
网络传输,受路由网络等影响比较大吧  发表于 2017-7-28 23:40
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-7-29 09:42:34 | 显示全部楼层
https://github.com/iputils/iputils
clockdiff  Measures clock difference between us and destination with 1 msec resolution using ICMP TIMESTAMP [2] packets or, optionally,  IP TIMESTAMP option [3] option added to ICMP ECHO.  [1]


wayne@X6Ti:~  clockdiff bbs.emath.ac.cn
..................................................
host=bbs.emath.ac.cn rtt=62(15)ms/50ms delta=4ms/5ms Sat Jul 29 09:45:42 2017
wayne@X6Ti:~ clockdiff -o bbs.emath.ac.cn
..................................................
host=bbs.emath.ac.cn rtt=355(101)ms/151ms delta=1ms/5ms Sat Jul 29 09:46:20 2017


我的电脑跟论坛主机的时间差不到5ms。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-7-30 12:09:12 来自手机 | 显示全部楼层
机器A发自己时间t1给机器B,B收到后马上发自己当前时间t2给A,A收到后再查看自己时间t3.t1和t3平均值和t2的差近似时间差。继续相互收发,机器B会查看t2,t4均值和t3的差,统计充分多时间就可以有个不错的估值了

点评

网络抖动越小,结果越好  发表于 2017-7-30 23:00
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-8-2 13:22:38 | 显示全部楼层
mathe 发表于 2017-7-30 12:09
机器A发自己时间t1给机器B,B收到后马上发自己当前时间t2给A,A收到后再查看自己时间t3.t1和t3平均值和t2的 ...

主要是,通过什么渠道发,这个渠道相当重要,决定了精度~
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|Archiver|数学研发网 ( 苏ICP备07505100号  

GMT+8, 2017-10-19 15:15 , Processed in 0.218481 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表