如何测试打开的连接是否正常工作?

时间:2018-11-06 12:36:10

标签: android connection

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

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

我们如何轻松地检查与服务器建立的连接是否仍在正确响应?例如,针对SQL Server打开连接的应用程序之一。有什么方法可以检查我们是否可以进入服务器并且可以正常运行,并且由于覆盖率低而不会丢失连接和软件包?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果收到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();
}