1

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

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

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

4

1 回答 1

2

如果您的通信是严格单向的并且时钟不同步,您就无法做到这一点。

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

于 2012-04-27T23:19:40.170 回答