.NET 获取网络连接状态的方法

使用 My 命名空间

在 Visual Basic.NET 中,可以使用 My.Computer.Network.IsAvailable 来获取网络是否已经连接。此函数的定义如下所示:

由此引入了C#中获取网络状态的方法。

使用 NetworkInterface

可以使用System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable静态函数来获取是否具有可用的网络连接。

此函数在MSDN原文中描述如下:

如果有任何网络接口标记为“up”而且不是环回或隧道接口,则认为有可用的网络连接。

使用InternetGetConnectedState函数

在Wininet.dll中公开了一个函数,用于获取当前的网络连接状态。其具体用法请参阅InternetGetConnectedState function。函数的定义如下:

其返回值如果非零,则表示存在活动的网络连接。如果使用C#导入此函数,则可以编写如下的控制台程序,用以检测网络状态:

使用 Ping 测试与指定站点的连通性

可以通过 ping 测试与指定站点的连通性来判断是否联网。使用此方法的优点在于,如果测试结果表明网络是连通的,那么网络肯定是连通的。

可以使用 System.Net.NetworkInformation.Ping 类进行 ping 测试。具体方法此处不再赘述。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.