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

Android Java アプリケーションから外部 IP に ping を送信するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-13 13:59:02948ブラウズ

How to Ping External IPs from Android Java Applications?

Android Java アプリケーションから外部 IP を ping する

ネットワーク接続を検証するために Android 用の ping アプリケーションを開発する場合、ローカル IP のみを ping するという制限に対処することが不可欠です。この記事では、根本的な問題を詳しく掘り下げ、ping 機能を外部サーバーに拡張するための解決策を提供します。

元の質問で共有されたコードは、Android での ping の基本的な実装を示しています。ただし、外部サーバーに ping を送信しようとすると不十分です。これは、Android がデフォルトでデバイスのローカル ネットワーク外のホストへの直接ネットワーク アクセスを制限しているためです。

この制限を克服するために、ネイティブ システム コマンドを使用する回避策が採用されています。提供されているソリューションは、Runtime.exec() を利用して、目的の IP アドレス (Google DNS の場合は 8.8.8.8 など) を指定して /system/bin/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);
        return mExitValue == 0;
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println(" Exception:"+e);
    }
    return false;
}

このアプローチを利用すると、executeCommand() メソッドはネイティブ ping コマンドを開始し、その完了を待って、 ping 結果を示すブール値。これにより、外部サーバーに ping を送信できるようになり、Android アプリケーション内でより包括的なネットワーク接続評価が提供されます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。