代码改变世界

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

2012-07-22 17:06  CodeCy  阅读(1149)  评论(0编辑  收藏  举报

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

分类: C# 85人阅读 评论(0) 收藏 举报

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

第一种,利用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,用第二种方法验证是否连接到局域网。