Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道,如何计算从客户端发送的数据包的到达时间。我尝试使用数据包发送时间戳(自 1970 年以来的毫秒数),然后在服务器上像这样计算它。
timestamp_on_server - timestamp_from_packet
但问题是我也得到负数,这是不正确的。
那么我该如何以正确的方式做到这一点呢?:-)
谢谢!
当机器未正确同步到时间源时,这不起作用(请参阅NTP)。
但总的来说,依靠在不同节点上采样的时间并不是最好的主意。您可以做的是测量往返时间(发送到那里的数据包并在发送者的时间戳完好无损的情况下反射回来),因此您只能使用相同的时间源。
旁注:如果由某些特权进程强制调整,同一台机器上的时钟仍然可以跳回,因此忽略(并可能记录)负 RTT 值可能是个好主意。