我想知道识别互联网是否有效的最佳方法。我在考虑Ping,但也许目标已经失效,这将使我的应用程序认为互联网已关闭。
所以,如果有人有任何想法,分享会很棒。
答案 0 :(得分:4)
尝试ping您打算与之交互的网络资源,而不是选择要ping的主机或DNS。或者,而不是ping,实际上尝试与该端点进行交互,并彻底准备无法访问该主机的情况。
即。 Twitter客户端可能会尝试连接到twitter.com,如果它不能(无论是否没有互联网连接或twitter.com被阻止),该程序可以报告&#34; Twitter目前无法访问&#34;。< / p>
答案 1 :(得分:2)
像4.2.2.4
,4.2.2.3
,4.2.2.2, 8.8.8.8, 8.8.4.4
Ping myPing = new Ping();
String host = "4.2.2.4;
byte[] buffer = new byte[32];
int timeout = 1000;
PingOptions pingOptions = new PingOptions();
PingReply reply = myPing.Send(host, timeout, buffer, pingOptions);
if (reply.Status == IPStatus.Success) {
// presumably online
}