如何计算包的到达时间?

时间:2012-08-29 18:22:25

标签: sockets node.js

我想知道,如何计算从客户端发送的数据包的到达时间。 我试着用数据包发送一个时间戳(自1970年以来的毫秒),然后在服务器上像这样计算它。

  

timestamp_on_server - timestamp_from_packet

但问题是,我也得到负数,这是不正确的。

那么我该如何正确地做到这一点? : - )

谢谢!

1 个答案:

答案 0 :(得分:3)

当计算机未正确同步到时间源时,这不起作用(请参阅NTP)。

但总的来说,依靠在不同节点上采样的时间并不是最好的主意。您可以做的是测量round-trip times(在那里发送的数据包并反映发送者的时间戳完整),因此您只能使用相同的时间源。

旁注:如果某个特权进程强行调整,同一台机器上的时钟仍然可以跳回来,因此忽略(也许记录)负RTT值可能是一个好主意。