Android : 检查与 IP 地址的连接

Android : Checking connectivity to Ip address

我从互联网上得到以下代码

      public boolean isConnectedToServer(String url, int timeout) {
    try {
        URL myUrl = new URL(url);
        URLConnection connection = myUrl.openConnection();
        connection.setConnectTimeout(timeout);
        connection.connect();
        return true;
    } catch (Exception e) {
        // Handle your exceptions
        return false;
    }
}

每当我调用此方法时:

    System.out.println(isConnectedToServer("192.168.1.65",5));

输出仍然是 false,我可以轻松访问我的 Web 服务文件,因此可以连接到该 IP,但我无法检查该 IP 是否可达,有什么想法吗?

PS:使用本地 IP 地址连接到我的 XAMPP 服务器

错误:

    java.net.MalformedURLException: Protocol not found: 192.168.1.65

你的ip有问题。尝试使用 http://ip... URL 不是 URI。

参考:Protocol not found

查看这段代码并查看它是否有效:

Other example

那你又会有问题了。它是你正在工作的线程。你在主线程上执行这段代码,它会产生一个异常。

你的第二个问题:Network on main thread exception

使用异步任务解决此问题。

参考:Asynctask