通过C#编程判断网络是否畅通,下面先附上代码:
//构造Ping实例
Ping ping=new Ping();
//Ping选项设置,用于控制如何传输数据包
PingOptions poptions = new PingOptions();
poptions.DontFragment = true;
//测试数据
string data = "panpan is a SB";
Byte[] buffer = Encoding.ASCII.GetBytes(data);
//设置超时时间
int timeout = 1000;
//调用同步send方法发送数据,将返回结果保存至PingReply实例
//此处如果直接ping IP的话,先引用命名空间using System.Net;
//然后代码改为:PingReply pingreply = ping.Send(IPadress.Parse("192.168.1.1"),timeout,buffer,poptions);
PingReply pingreply = ping.Send("www.baidu.com",timeout,buffer,poptions);
if (pingreply.Status == IPStatus.Success)
{
MessageBox.Show("网络通畅", "提示");
}
else
{
MessageBox.Show("网络不通", "提示");
}
该例子是通过ping操作来实现的,首先我们需要引入空间名 using System.Net.NetworkInformation;因为代码中用到的子类都在这个命名空间下。如果直接ping的是IP的话,需要用到IPadress.Parse()这个方法,而IPadress类在using System.Net;命名空间下,所以我们要先引用using System.Net;命名空间。