C#判断网络连接是否正常

来源:互联网 发布:快递行业 管理 软件 编辑:程序博客网 时间:2024/05/05 07:14

从网上找到两种检测网络连接状态的方法,做个备份。

第一种,利用ping类

 bool bolPing = true;//标识量

            System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
            System.Net.NetworkInformation.PingReply pingReply = ping.Send(System.Net.IPAddress.Parse("202.108.22.5"), 500);//Ping百度,500毫秒超时
            //判断ping返回来的结果
            bolPing = (pingReply.Status == System.Net.NetworkInformation.IPStatus.Success);


            if (bolPing)
            {
                MessageBox.Show("网络连接正常");

            }

第二种,利用WindowsAPI

[DllImport("wininet.dll")]
        private extern static bool InternetGetConnectedState(int Description, int ReservedValue);


        private void button1_Click(object sender, EventArgs e)
        {
            bool bolConnect = true;

            int Desc = 0;
            bolConnect = InternetGetConnectedState(Desc, 0);


            if (bolConnect)
            {
                MessageBox.Show("网络连接正常");
            }
        }



上面两种方式可以结合在一起使用,互补不足。我就是用第一种方法验证计算机是否连接到Internet,用第二种方法验证是否连接到局域网。