检查 RESTful 服务器在 Android 上是否可用

Check if RESTful server is available on Android

我正在开发面向 Android REST-API 的应用程序。

我需要创建一个方法来检查服务器是否可用。 问题是如果您使用 URL.openStream() 方法,则无法确定请求是否成功。

有没有一种不需要执行完整的 HttpURLConnection 和阅读 return 代码的操作的方法?

  1. 您可以使用TCP Sockets

    SocketAddress socketAddress = new InetSocketAddress(address, port);
    try {
        int timeout = 2000;
        socket.connect(socketAddress, timeout);
    }
    catch (IOException e) {
          return false; 
    }
    finally {
        if (socket.isConnected()) {
            try {
                socket.close();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
    }