0

次のコードを使用して、UNIX システム上の Java で RTT を取得する方法を実装しました。

String command[] = {"ping", "-c4", theIPAddress};
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while((line = in.readLine()) != null)
   //the terminal output with the ping results...
etc...

これは正常に機能し、RTT (遅延) をミリ秒単位で計算して出力できます。ただし、ホストが ICMP をブロックしている場合、ping はタイムアウトします。(Mac OS X ターミナルまたは Windows CMD でも。)

ここで、IP アドレスの RTT/遅延を何らかの方法で取得する別の方法を見つけたいと考えています。(ホスト側にソフトウェアをインストールしたくありません。) Java の例を提供できない場合は、他の情報を提供してください。私は多くの言語間で翻訳できますし、Google も本当に使えます。

4

2 に答える 2

1

ホストが ICMP をブロックしている場合、ホストはあなたにこれを行わせたくありません。代わりに tracert を試してみませんか?

于 2011-02-28T19:30:03.133 に答える