ホームページ > Java > &#&チュートリアル > Java Android から外部 IP に ping を送信するにはどうすればよいですか?

Java Android から外部 IP に ping を送信するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-14 22:29:02
オリジナル
925 人が閲覧しました

How to Ping External IPs from Java Android?

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;
}
ログイン後にコピー
  1. ping コマンドの実行には runtime.exec() メソッドが使用されます。
  2. ping コマンドには -c 1 オプションが含まれています。これは、コマンドが 1 つの ping リクエストのみを送信することを指定します。
  3. waitFor() メソッドはコマンドが完了するのを待ち、終了値。
  4. 終了値が 0 の場合、ping リクエストは成功しました。それ以外の場合、ping リクエストは失敗しました。

このコードを使用する前に、インターネットにアクセスするために AndroidManifest.xml ファイルに必要な権限があることを確認してください。

その他の考慮事項:

  • デバイスがに接続されていることを確認してください。インターネット。
  • ファイアウォールまたはネットワーク設定が ping リクエストをブロックしていないことを確認してください。
  • IP アドレス検証ライブラリを使用して、ping する前に IP アドレスを確認してください。
  • すべてを処理します潜在的な例外やエラーのケースを適切に処理します。

以上がJava Android から外部 IP に ping を送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート