2013-07-23 204 views
2

我知道你可以检查网络连接,但似乎无法找到一种方法来检查是否有真正的互联网可用,缺少ping。我知道一些用户会连接到无法访问互联网的本地WLAN的使用情况,我宁愿避免请求超时。如何检查互联网连接?

根据网络连接需要很长时间才能完成ping的缺点是否有明确测试互联网的方法?

+0

http://stackoverflow.com/questions/13617017/windows-phone-8-connection-handler-internet-availability – Rohit

+0

@Kyle:这将返回true,即使你是在本地连接。 – SBoss

+0

可能重复[什么是使用.Net检查Internet连接的最佳方法?](http://stackoverflow.com/questions/2031824/what-is-the-best-way-to-check-for-internet -connectivity-using-net) – Alexander

回答

1

你可以试试这个....

var asd = NetworkInterface.GetInternetInterface(); 

我希望这可以帮助...

0

使用Ping class(只适用,如果你想到达服务器ping启用。

public bool checkNet() 
{ 
    bool kleir = false; 
    using (Ping ping = new Ping()) 
    { 
     try 
     { 
      if (ping.Send("yourDomain.com", 2000).Status == IPStatus.Success) 
      { 
       kleir = true; 
      } 
     } 
     catch (PingException) 
     { 
      kleir = false; 
     } 
    } 
    return kleir; 
} 
+0

即使你在线,你也不能总是ping一个域名/网站,ping它是一个依赖于某种先决条件的程序,它不是100%可靠的,它也不是协议的一部分。 – user2485710

+0

确实,如果服务器禁用了“ping”,这将不起作用。我将编辑我的帖子。 – DeMama

+3

此外,(该问题被标记为WP8)Windows手机没有Ping()类,所以这个anwser不会在windowsphone上工作 –