初探.NET判断Windows网络连接之突然断开或连接

来源:互联网 发布:在淘宝上如何搜发票 编辑:程序博客网 时间:2024/06/13 04:23

    

    System.Net.NetworkInformation命名空间下

 

1、NetworkInterface类提供了网络接口的配置和统计信息。

如果要获得本地计算机的网络接口(网卡)信息,则使用该类下的GetAllNetworkInterfaces()方法。

如:NetworkInterface[] nics= NetworkInterface.GetAllNetworkInterfaces();

nics包括本机的所有网卡对象,包含网卡的名称、ID、连接状态、连接类型等。

 

 

2、NetworkChange类提供了网络接口的Internet协议地址发生改变时收到的通知。

当网卡禁用或IP地址发生改变时触发NetworkAddressChanged事件。如果你的应用程序需要在网络断开时做特出处理,则此事件能满足你的要求。如:

NetworkChange.NetworkAddressChanged += new
            NetworkAddressChangedEventHandler(AddressChangedCallback);
            MessageBox.Show("Listening for address changes.");

 

private void AddressChangedCallback(object sender, EventArgs e)
        {

            MessageBox.Show(string.Format("IsNetworkAvailable is {0}", NetworkInterface.GetIsNetworkAvailable()));

            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface n in adapters)
            {
                string aa = string.Format("OperationalStatus is {0}/r/n", n.OperationalStatus);
                aa += string.Format("NetworkInterfaceType is {0}/r/n", n.NetworkInterfaceType);
                aa += string.Format("Name is {0}", n.Name);
                MessageBox.Show(aa);
            }

           
        }