如何以最快的方式检查网络连接?

时间:2013-04-17 16:37:40

标签: c# visual-studio windows-ce smart-device

我正在为霍尼韦尔Dolphin 6100开发一个应用程序,这是一款带有条形码扫描器的移动计算机,它使用Windows CE 5.0,就像操作系统一样。

我想使用一个可以检查网络连接存在的函数,我试着使用下面的代码,但它太慢了。

public static bool CheckForInternetConnection()
{
   string url = "http://www.Microsoft.com/";
   try
   {
       System.Net.WebRequest myRequest = System.Net.WebRequest.Create(url);
       System.Net.WebResponse myResponse = myRequest.GetResponse();
   }
   catch (System.Net.WebException)
   {
       return false;
   }
   return true;
}

任何人都有更快的方法来做到这一点。我提到我在win7上使用VS2008

2 个答案:

答案 0 :(得分:2)

由于您没有对响应的内容做任何事情,因此没有理由请求它,并等待所有数据的网络传输。您可以尝试设置myRequest.Method =“HEAD”,它将返回标题(假设Web服务器支持它),但显然仍然可以验证您是否可以与远程Web服务器通信。

http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.method.aspx

答案 1 :(得分:0)

假设您的.net运行时版本可用,您可以调用静态System.Net.NetworkInformation.GetIsNetworkAvailable()方法。在某些情况下,这将返回true并且您将无法路由到外部世界,但它会告诉您设备是否具有标记为已启动的网络接口。