首页  >  文章  >  Java  >  如何从 Java Android Ping 外部 IP?

如何从 Java Android Ping 外部 IP?

Patricia Arquette
Patricia Arquette原创
2024-11-14 22:29:02838浏览

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() 方法等待命令完成并返回退出value.
  4. 如果退出值为 0,则 ping 请求成功。否则,ping 请求会失败。

使用此代码之前,请确保您在 AndroidManifest.xml 文件中拥有访问互联网所需的权限。

其他注意事项:

  • 确保您的设备已连接到互联网。
  • 确保任何防火墙或网络设置不会阻止 ping 请求。
  • 在 ping 之前使用 IP 地址验证库验证 IP 地址。
  • 处理任何问题优雅地处理潜在的异常或错误情况。

以上是如何从 Java Android Ping 外部 IP?的详细内容。更多信息请关注PHP中文网其他相关文章!

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