Java Ping以检查与域的连接

Java Ping以检查与域的连接,java,android,networking,ping,Java,Android,Networking,Ping,在我的android应用程序中,我正在查询数据库。我只能在手机连接到内部网络时查询数据库,即:通过连接到公司WiFi或使用VPN连接 我想先检查此连接-可能先尝试“ping”服务器?这可能吗 谢谢。只要试着连接到网络/数据库/ip并处理b/c网络无法访问或b/c超时引发的任何异常即可 您也可以尝试使用isReachable()方法。只需尝试连接到网络/数据库/ip并处理因网络无法访问或b/c超时而引发的任何异常 您也可以尝试使用ISAccabable()方法。 如果您真的想检查网络状态,可以考虑

在我的android应用程序中,我正在查询数据库。我只能在手机连接到内部网络时查询数据库,即:通过连接到公司WiFi或使用VPN连接

我想先检查此连接-可能先尝试“ping”服务器?这可能吗


谢谢。

只要试着连接到网络/数据库/ip并处理b/c网络无法访问或b/c超时引发的任何异常即可


您也可以尝试使用isReachable()方法。

只需尝试连接到网络/数据库/ip并处理因网络无法访问或b/c超时而引发的任何异常


您也可以尝试使用ISAccabable()方法。

如果您真的想检查网络状态,可以考虑使用ANDROID.NET.CONCICVITYMIX管理器。 ConctivityManager.requestRouteToHost()可用于确保服务器是可访问的(尽管有人对其可靠性提出了质疑-在这里的Commonware答案中提到:)

或者,如果您只想检查WIFI是否已连接,请尝试

ConctivityManager.getNetworkInfo(ConctivityManager.TYPE_WIFI).isConnected()

有几点需要注意:

1) 我是在浏览器中输入的,不是IDE,所以可能有语法错误

2) 您必须使代码在生产中更具防御性,并且

3) 如果网络当前可用或不可用,ConctivityManager中的所有连接测试都可能不可靠


希望这能满足你的要求。

< P>你可以考虑使用ANDROID.NET.CONCITVITYMIX管理器,如果你真的想检查网络状态。 ConctivityManager.requestRouteToHost()可用于确保服务器是可访问的(尽管有人对其可靠性提出了质疑-在这里的Commonware答案中提到:)

或者,如果您只想检查WIFI是否已连接,请尝试

ConctivityManager.getNetworkInfo(ConctivityManager.TYPE_WIFI).isConnected()

有几点需要注意:

1) 我是在浏览器中输入的,不是IDE,所以可能有语法错误

2) 您必须使代码在生产中更具防御性,并且

3) 如果网络当前可用或不可用,ConctivityManager中的所有连接测试都可能不可靠


希望这能满足您的要求。

您应该在ping之前连接到网络。这就是网络的工作原理。我正在为最终用户开发这个,所以我希望他们不会总是先连接到网络。他们将启动应用程序,一旦由于无法找到DNS而强制关闭/挂起,他们就会感到困惑。我知道这就是网络的工作原理,但我的最终用户不知道。在ping之前,您应该连接到网络。这就是网络的工作原理。我正在为最终用户开发这个,所以我希望他们不会总是先连接到网络。他们将启动应用程序,一旦由于无法找到DNS而强制关闭/挂起,他们就会感到困惑。我知道网络就是这样工作的,但我的最终用户却不知道。请输入您试图访问的数据库的内部IP地址。编写代码时,就好像您在正确的网络上一样,并在连接未通过时处理异常。异常会通知用户无法访问网络(即用户不在正确的网络上)。我希望用户在尝试执行任何查询之前解决此问题。谢谢你的建议。请连接到你试图访问的数据库的内部IP地址。编写代码时,假设你在正确的网络上,如果连接未通过,请处理异常。异常会通知用户无法访问网络(即用户不在正确的网络上)。我希望用户在尝试执行任何查询之前解决此问题。谢谢你的建议。