【问题标题】:server availability checker in AndroidAndroid中的服务器可用性检查器
【发布时间】:2018-04-22 20:55:55
【问题描述】:

我正在尝试首先检查设备的互联网连接,如果互联网可用...我需要检查服务器是否在线。我已经在 stackflow 中搜索了很多,但没有像下面这样的最新解决方案。

1

2

但随着人们和我的试验,它们都不能正常工作。我正在使用以下代码检查设备的互联网状态

public static boolean isInternetAvailable(Context context) {
    ConnectivityManager connectivity = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    boolean isActiveNetworkConnected = false;

    if (connectivity != null) {

        NetworkInfo info = connectivity.getActiveNetworkInfo();

        if (info != null) {
            if (info.getState() == NetworkInfo.State.CONNECTED) {

                isActiveNetworkConnected = true;
            } else {
                isActiveNetworkConnected = false;
            }
        }
    } else {
        isActiveNetworkConnected = false;
    }

    return isActiveNetworkConnected;
}

让我知道任何人都有适当的解决方案,可以使用此代码检查服务器是否可用。

【问题讨论】:

    标签: java android


    【解决方案1】:

    检查互联网连接后,您可以简单地进行测试 API 命中以检查服务器状态。如果服务器响应正常,则将请求发送到服务器,开始下一个工作或在其他情况下处理服务器未响应用户的消息。

    这是一个使用okhttp的示例

    public boolean isServerUp(){
    
        private final OkHttpClient client = new OkHttpClient();
    
          public void run() throws Exception {
            Request request = new Request.Builder()
                .url("your server url here")
                .build();
    
            client.newCall(request).enqueue(new Callback() {
              @Override public void onFailure(Call call, IOException e) {
                e.printStackTrace();
                return false;
              }
    
              @Override public void onResponse(Call call, Response response) throws IOException {
                if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
                return true; 
              }
            });
          }
          return false;
    }
    

    【讨论】:

      【解决方案2】:

      为了在网络检查后检查服务器的当前状态,需要检查响应是否为空

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-20
        • 1970-01-01
        • 1970-01-01
        • 2017-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多