2010-02-26 61 views
1

我在Ubuntu 9.10上用C++编写了一个简单的UDP客户端服务器,客户端向客户端发送一组服务器。我如何检查发送它需要多少时间。我需要找到从开始转移到结束的时间。如何找到通过UDP发送数据所花费的时间

假设我的服务器和客户端在同一台机器上,那么我能以某种方式保存系统时间并找出差异或什么?

+0

定义“发送它所花费的时间”。你的意思是sendto()调用返回所需的时间,数据包离开网络接口卡所需的时间,到达服务器所需的时间,......? – stmax 2010-02-26 23:02:49

回答

0

如果您问信息包需要多长时间才能到达服务器,则没有内置的方法来获取该信息。

如果服务器发送回复,则可以在发送请求和获得回复之间花费多长时间并除以2(不准确,但体面的估计)。

1

设置服务器立即向客户端发送回复。在客户端测量往返时间。你正在寻找的时间是往返时间的一半。

0

你可以把你发送数据包的时间放在每个数据包的开头。换句话说,您可以为包含此信息的所有数据包创建自定义标头。