c#下实现ping操作代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

c#下实现ping操作代码
这里我写的是一个窗体程序。首先添加textbox,listbox,button控件,其中textbox录入域名或IP,listbox显示结果.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
private void button1_Click(object sender, EventArgs e)
 {
 Ping p1 = new Ping(); //只是演示,没有做错误处理
 PingReply reply = p1.Send(this.textBox1.Text);//阻塞方式 displayReply(reply); //显示结果 } private void displayReply(PingReply reply) //显示结果
 {
 StringBuilder sbuilder ;
 if (reply.Status == IPStatus.Success)
 {
 sbuilder = new StringBuilder();
 sbuilder.Append(string.Format("Address: {0} ", reply.Address.ToString ()));
 sbuilder.Append(string.Format("RoundTrip time: {0} ", reply.RoundtripTime));
 sbuilder.Append(string.Format("Time to live: {0} ", reply.Options.Ttl));
 sbuilder.Append(string.Format("Don't fragment: {0} ", reply.Options.DontFragment));
 sbuilder.Append(string.Format("Buffer size: {0} ", reply.Buffer.Length));
 listBox1.Items.Add(sbuilder.ToString());
 }
 }[nextpage]
 也可以做异步的处理,修改button1_click,并添加PingCompletedCallBack方法
 private void button1_Click(object sender, EventArgs e)
 {
 Ping p1 = new Ping();
 p1.PingCompleted += new PingCompletedEventHandler(this.PingCompletedCallBack);//设置PingCompleted事件处理程序
 p1.SendAsync(this.textBox1.Text, null);
 }
 private void PingCompletedCallBack(object sender, PingCompletedEventArgs e)
 {
 if (e.Cancelled)
 {
 listBox1.Items.Add("Ping Canncel");
 return;
 }
 if (e.Error != null)
 {
 listBox1.Items.Add(e.Error.Message);
 return;
 }
 StringBuilder sbuilder;
 PingReply reply = e.Reply;
 if (reply.Status == IPStatus.Success)
 {
 sbuilder = new StringBuilder();
 sbuilder.Append(string.Format("Address: {0} ", reply.Address.ToString()));
 sbuilder.Append(string.Format("RoundTrip time: {0} ", reply.RoundtripTime));
 sbuilder.Append(string.Format("Time to live: {0} ", reply.Options.Ttl));
 sbuilder.Append(string.Format("Don't fragment: {0} ", reply.Options.DontFragment));
 sbuilder.Append(string.Format("Buffer size: {0} ", reply.Buffer.Length));
 listBox1.Items.Add(sbuilder.ToString());
 }
 }