2017-07-31 108 views
-2

我正在一个简单的程序中工作,开始时我会ping所有的MAN主机以验证所有主机是否在线(完成),但是我想实现某种方式来衡量延迟主机之间。有没有办法做到这一点?有小费吗?有一种方法可以测量java中的延迟网络

不管怎么说,谢谢

+0

延迟时间不过是您的ping请求和您收到回复之间的延迟时间。它应该像通过这种延迟来排列主机一样简单。 – Neil

+0

网络延迟时间总是在变化,而测量只反映在给定时间测试的延迟。下一个测试可能会有很大的不同。另外,不同的协议可以有不同的延迟。例如,ping使用优先级列表较低的ICMP,其延迟时间与TCP或UDP可能获得的延迟无关。 –

回答

1

你可以保持对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; 
     } 
+0

这就是'平'命令做对了吗? @Davide Spataro –

+0

@ guru_007基本上是的。它也能够收集其他指标。 –

+0

好的@davide Spactaro,有没有其他方式让网络中的系统存在,说A和B连接到相同的本地局域网(以太网),没有'ping'命令。 –

相关问题