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

时间:2017-07-31 12:30:36

标签: java networking network-programming

我正在一个简单的程序中工作,开始我将在所有MAN主机中ping,以验证所有主机是否在线(完整),但我希望以某种方式测量主机之间的延迟。有没有办法做到这一点?有什么提示吗?

无论如何,谢谢

1 个答案:

答案 0 :(得分:2)

您可以为pingpong打包时间戳,只需计算两者之间的差异。

根据定义,延迟

您可以多次重复此过程以计算其他指标,例如抖动。

简单的事情,因为以下内容应该达到目的。

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;
         }