使用http标头“ X-Timer”进行时间同步:错误地舍入了时间整数部分

问题描述

对于在不同网络环境中运行的基于Linux的设备,我需要同步它们的时间。 最好的解决方案是使用ntp进行时间同步,但不幸的是,并非所有设备都可以访问ntp服务器。

我当时在看htpdate来同步时间,但是它使用的“ Date:” http标头的一秒分辨率太粗糙,无法给出良好的时基。我编写了一个脚本,将htpdate确定的偏移量作为refclock驱动程序输入到ntpd中,当我向其提供10台服务器(2x5)时,它的工作效果很好,但是流量约为100 ip数据包,从而获得了100ms的时间分辨率,即过度杀伤力。

在寻找更好的解决方案时,我偶然发现了“ X-Timer” http标头,该标头提供微秒级的秒数。听起来很完美,我还实现了一个ntpd refclock驱动程序,该驱动程序以此为基础,但是当小数部分> = 0.5时,时间是将来的1秒。我使用的所有服务器(“ www.pool.ntp.org”,“ vimeo.com”,“ www.yelp.com”)对秒部分进行5/10舍入,而不是舍入值(我对照我的ntp服务器)。

有人知道该标头的规范吗?我只发现了一些信息at fastly,是唯一实现该标头的人吗?是否有可用的源代码可用来检查这些服务器在做什么或我是否做错了。

迈克尔

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...