【问题标题】:How test if an open connection is working?如何测试打开的连接是否正常工作?
【发布时间】:2018-11-06 12:36:10
【问题描述】:

我们正在为连接到内部 wifi 的移动设备开发一些内部应用程序。我们有一些问题,因为我们只检查设备是否使用 ConnectivityManager 连接。但是我们不仅要检查是否有连接,还要检查设备和服务器之间的连接是否正常。

问题是 ConnectivityManager 告诉我们 wifi 已连接。但如果设备位于覆盖范围很小的区域,则应用尝试连接时会出错。

我们如何轻松检查我们针对服务器打开的连接是否仍然正确响应?例如,针对 SQL Server 打开连接的应用程序之一。有什么方法可以检查我们是否到达了服务器,它给了我们一个 ok,并且我们没有因为覆盖率低而丢失连接和包?

谢谢!!

【问题讨论】:

    标签: android connection


    【解决方案1】:

    如果您收到NullPointerExceptionIOException 很可能没有连接或连接超时,您可以尝试ping 服务器。 你可以在这里阅读更多内容an answer to similar question by syb0rg。还记得将这段代码包装在AsyncTaskThread 中,以防止您的应用崩溃。

    try {
        //replace URL with your domain
        URL url = new URL("http://www.google.com");
        HttpURLConnection urlConnect = (HttpURLConnection) url.openConnection();
        urlConnect.setConnectTimeout(1000);
        urlConnect.getContent();
        System.out.println("Connection established.");
    } catch (NullPointerException np) {
        np.printStackTrace();
    } catch (IOException io) {
        io.printStackTrace();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      • 2013-08-27
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      相关资源
      最近更新 更多