首頁  >  文章  >  Java  >  如何從 Java Android Ping 外部 IP?

如何從 Java Android Ping 外部 IP?

Patricia Arquette
Patricia Arquette原創
2024-11-14 22:29:02896瀏覽

How to Ping External IPs from Java Android?

從 Java Android Ping 外部 IP

在 Java Android 開發中,可以 ping 本地和外部 IP 位址。但是,如果您在嘗試ping 外部伺服器時遇到問題,請參閱以下故障排除指南:

程式碼分析:

您的程式碼嘗試透過以下方式ping IP 位址:使用InetAddress.isReachable() 方法。此方法僅測試本機 IP 位址。若要啟用外部伺服器的 ping,您需要使用不同的方法。

解決方案:使用本機指令

答案中提供的程式碼使用本機指令來執行ping 操作。這種方法允許您 ping 任何 IP 位址,包括本機和外部。程式碼解釋如下:

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. runtime.exec() 方法用於執行 ping 指令。
  2. ping 指令包含 -c 1 選項,它指定指令應該只傳送一個 ping 請求。
  3. waitFor() 方法等待指令完成並傳回退出值。
  4. 如果退出值為 0,則 ping請求成功。否則,ping 請求會失敗。

使用此程式碼之前,請確保您在 AndroidManifest.xml 檔案中擁有存取網際網路所需的權限。

其他注意事項:

  • 確保您的裝置已連線至網路。
  • 確保任何防火牆或網路設定不會阻止 ping 要求。
  • 使用IP 位址驗證庫,用於在 ping 之前驗證 IP 位址。
  • 妥善處理任何潛在的異常或錯誤情況。

以上是如何從 Java Android Ping 外部 IP?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn