首页  >  文章  >  Java  >  如何从 Android Java 应用程序 Ping 外部 IP?

如何从 Android Java 应用程序 Ping 外部 IP?

Barbara Streisand
Barbara Streisand原创
2024-11-13 13:59:02893浏览

How to Ping External IPs from Android Java Applications?

从 Android Java 应用程序 Ping 外部 IP

在为 Android 开发 Ping 应用程序以验证网络连接时,必须解决只能 Ping 本地 IP 的限制。本文将深入研究根本问题,并提供将 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 应用程序 Ping 外部 IP?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn