Ping以检查与域的连接

时间:2011-07-11 17:59:36

标签: java android networking ping

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

我想先检查一下这个连接 - 可能是先尝试'ping'服务器?这可能吗?

感谢。

2 个答案:

答案 0 :(得分:1)

尝试连接到network / database / ip并处理任何抛出的异常b / c网络无法访问或b / c超时。

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

答案 1 :(得分:0)

如果你真的想检查网络状态,你可以考虑使用android.net.ConectivityManager。

ConectivityManager.requestRouteToHost()可以用来确保服务器是可以访问的(虽然对其可靠性提出了疑问 - 在CommonsWare中提到答案:how to mange wifi internet connectivity in android?

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

ConectivityManager.getNetworkInfo(ConectivityManager.TYPE_WIFI).isConnected()

一些警告:

1)我在浏览器中输入此内容而不是IDE,因此可能存在语法错误,

2)你必须使代码更具防御性,并且

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

希望这涵盖了你的要求。