我正在一个简单的程序中工作,开始时我会ping所有的MAN主机以验证所有主机是否在线(完成),但是我想实现某种方式来衡量延迟主机之间。有没有办法做到这一点?有小费吗?有一种方法可以测量java中的延迟网络
不管怎么说,谢谢
我正在一个简单的程序中工作,开始时我会ping所有的MAN主机以验证所有主机是否在线(完成),但是我想实现某种方式来衡量延迟主机之间。有没有办法做到这一点?有小费吗?有一种方法可以测量java中的延迟网络
不管怎么说,谢谢
你可以保持对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;
}
这就是'平'命令做对了吗? @Davide Spataro –
@ guru_007基本上是的。它也能够收集其他指标。 –
好的@davide Spactaro,有没有其他方式让网络中的系统存在,说A和B连接到相同的本地局域网(以太网),没有'ping'命令。 –
延迟时间不过是您的ping请求和您收到回复之间的延迟时间。它应该像通过这种延迟来排列主机一样简单。 – Neil
网络延迟时间总是在变化,而测量只反映在给定时间测试的延迟。下一个测试可能会有很大的不同。另外,不同的协议可以有不同的延迟。例如,ping使用优先级列表较低的ICMP,其延迟时间与TCP或UDP可能获得的延迟无关。 –