2

次のコードを使用して、Android 機器の ping コマンドを呼び出しています。

public static String pingServer() {
PingResult result = new PingResult();
String jsonString = null;
try {
String command = "ping -c 3 192.168.8.185"; 
Process p = Runtime.getRuntime().exec(command);
int status = p.waitFor();
InputStream input = p.getInputStream(); 
BufferedReader in = new BufferedReader(new InputStreamReader(input));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null) {
buffer.append(line);
buffer.append("\n");
}


String bufferStr = buffer.toString();
        System.out.println(bufferStr);

} catch (Exception e) {
System.out.println("---------------exception-----------ping");
System.out.println(e.getMessage());
// e.printStackTrace();

}
}

BufferStr は常に最後の行のデータを取得します。

3 パケット送信、3 受信、0% パケット損失、時間 2000 ミリ秒

詳細結果を取得できます。 ここに画像の説明を入力

4

1 に答える 1

1

InetAddress.isReachableを使用する方が単純で簡単な場合があります。

if (InetAddress.getByName("192.168.8.185").isReachable(6000))
    ...
于 2013-01-09T08:59:56.160 に答える