我想知道,如何计算从客户端发送的数据包的到达时间。 我试着用数据包发送一个时间戳(自1970年以来的毫秒),然后在服务器上像这样计算它。
timestamp_on_server - timestamp_from_packet
但问题是,我也得到负数,这是不正确的。
那么我该如何正确地做到这一点? : - )
谢谢!
答案 0 :(得分:3)
当计算机未正确同步到时间源时,这不起作用(请参阅NTP)。
但总的来说,依靠在不同节点上采样的时间并不是最好的主意。您可以做的是测量round-trip times(在那里发送的数据包并反映发送者的时间戳完整),因此您只能使用相同的时间源。
旁注:如果某个特权进程强行调整,同一台机器上的时钟仍然可以跳回来,因此忽略(也许记录)负RTT值可能是一个好主意。