有一种方法可以在java中测量延迟网络



我正在一个简单的程序中工作,首先我将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;
}

最新更新