我正在一个简单的程序中工作,首先我将ping所有MAN主机以验证所有主机是否都在线(完整(,但我想实现某种测量主机之间延迟的方法。有什么办法可以做到这一点吗?有什么提示吗?
无论如何,谢谢
您可以保留ping
和打包pong
的时间戳,并简单地计算两者之间的差异。
这是根据定义,延迟
您可以多次重复该过程以计算其他指标,例如抖动。
像下面这样简单的事情应该可以达到目的。
while (sentPacket < MAX_PACK_NUM) {
// Timestamp in ms when we send it
Date now = new Date();
long msSend = now.getTime();
....
//send ping
socket.send(ping);
//receive ping
socket.receive(response);
now = new Date();
long msReceived = now.getTime();
// Print the packet and the delay
long latency= msReceived - msSend;
++sentPacket;
}