我有一台服务器和一台运行在2台Unix机器上的客户端。它们可以是LAN中的两台机器,也可以是相隔很远的VLAN,也可以连接到VLAN。客户端只接收数据包,服务器只发送。(UDP或TCP)
如何以编程方式测量它们之间的延迟?
这样做的一种方法是在发送之前在数据包上添加时间戳,但不保证时钟同步。有什么建议吗?
答案 0 :(得分:2)
如果您的通信严格单向且时钟不同步,则无法执行此操作。
您可以引入从客户端发送到服务器的新数据包,询问“它现在几点?”服务器将响应其时间,客户端将响应时间除以2以获得单向延迟。作为附带好处,客户可以找出服务器认为它的时间。