当前位置: 技术问答>linux和unix
linux 如何取到纳秒的时间
来源: 互联网 发布时间:2017-03-15
本文导语: 情况是这样的: 1、我在程序里面用gettimeofday()跟struct timespec结构结合,取系统时间。但是打印的时间秒后面只有六位小数,比如:1.123456.也就是只能打印到微妙级别。 2、我用wireshark取网...
情况是这样的:
1、我在程序里面用gettimeofday()跟struct timespec结构结合,取系统时间。但是打印的时间秒后面只有六位小数,比如:1.123456.也就是只能打印到微妙级别。
2、我用wireshark取网络报,分析数据包到达的时间的时候,wireshark能显示到秒后面9位,比如:1.123456000。 但是后三位全是0了就。这是怎么回事?
3、我搜了搜,发现wireshark有软件时间戳。能精确到纳秒。大家能否给小弟详细解释一下原因。谢谢
1、我在程序里面用gettimeofday()跟struct timespec结构结合,取系统时间。但是打印的时间秒后面只有六位小数,比如:1.123456.也就是只能打印到微妙级别。
2、我用wireshark取网络报,分析数据包到达的时间的时候,wireshark能显示到秒后面9位,比如:1.123456000。 但是后三位全是0了就。这是怎么回事?
3、我搜了搜,发现wireshark有软件时间戳。能精确到纳秒。大家能否给小弟详细解释一下原因。谢谢
|
我想那就是走个形式而已
wireshark支持抓1588的包,也许那种情况下就不是0了
wireshark支持抓1588的包,也许那种情况下就不是0了
|
clock_gettime可获得纳秒级精确
|
只有1588协议才可能能达到10ns级,还是使用算法计算的情况下
其他网络协议不可能做到的,1ns连光都只能走300mm
其他网络协议不可能做到的,1ns连光都只能走300mm