【问题标题】:How to measure latency between two machines in LAN如何测量局域网中两台机器之间的延迟
【发布时间】:2012-04-27 23:17:39
【问题描述】:

我有一个服务器和一个客户端在 2 台 Unix 机器上运行。它们可以是局域网中的两台机器,也可以是相距很远的两台机器,并在 VLAN 中连接。客户端只接收数据包,服务器只发送。(UDP或TCP)

如何以编程方式测量它们之间的延迟?

执行此操作的一种方法是在发送之前在数据包上添加时间戳,但不能保证时钟同步。有什么建议吗?

【问题讨论】:

  • 如何在服务器看到数据包后立即将其反射回客户端,然后通过将往返时间除以 2 来测量客户端的延迟?

标签: networking latency


【解决方案1】:

如果你的通信是严格单向的并且时钟不同步,你就做不到。

您可以引入一个从客户端发送到服务器的新数据包,询问“现在几点?”服务器将响应其时间,客户端将响应时间除以 2 以获得单向延迟。附带的好处是,客户端可以知道服务器认为现在是什么时间。

【讨论】:

    最近更新 更多