Java Android から外部 IP に ping を実行する
Java Android 開発では、ローカル IP アドレスと外部 IP アドレスの両方に ping を実行できます。ただし、外部サーバーに ping しようとしたときに問題が発生した場合は、次のトラブルシューティング ガイドを参照してください:
コード分析:
コードは、次の方法で IP アドレスに ping を試みます。 InetAddress.isReachable() メソッドを使用します。この方法では、ローカル IP アドレスのみがテストされます。外部サーバーの ping を有効にするには、別のアプローチを使用する必要があります。
解決策: ネイティブ コマンドを使用する
回答で提供されているコードは、ネイティブ コマンドを使用して、 ping操作。このアプローチにより、ローカルと外部の両方の任意の IP アドレスに ping を送信できます。コードの説明は次のとおりです。
private boolean executeCommand(){ System.out.println("executeCommand"); Runtime runtime = Runtime.getRuntime(); try { Process mIpAddrProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); int mExitValue = mIpAddrProcess.waitFor(); System.out.println(" mExitValue "+mExitValue); if(mExitValue==0){ return true; }else{ return false; } } catch (InterruptedException ignore) { ignore.printStackTrace(); System.out.println(" Exception:"+ignore); } catch (IOException e) { e.printStackTrace(); System.out.println(" Exception:"+e); } return false; }
このコードを使用する前に、インターネットにアクセスするために AndroidManifest.xml ファイルに必要な権限があることを確認してください。
その他の考慮事項:
以上がJava Android から外部 IP に ping を送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。