检测互联网是否正常工作的最佳方法

时间:2013-04-10 18:31:21

标签: c#

我想知道识别互联网是否有效的最佳方法。我在考虑Ping,但也许目标已经失效,这将使我的应用程序认为互联网已关闭。

所以,如果有人有任何想法,分享会很棒。

2 个答案:

答案 0 :(得分:4)

尝试ping您打算与之交互的网络资源,而不是选择要ping的主机或DNS。或者,而不是ping,实际上尝试与该端点进行交互,并彻底准备无法访问该主机的情况。

即。 Twitter客户端可能会尝试连接到twitter.com,如果它不能(无论是否没有互联网连接或twitter.com被阻止),该程序可以报告&#34; Twitter目前无法访问&#34;。< / p>

答案 1 :(得分:2)

4.2.2.44.2.2.34.2.2.2, 8.8.8.8, 8.8.4.4

一样ping一个有效的DNS
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
}