[C#] c#下实现ping操作代码 →→→→→进入此内容的聊天室

来自 , 2019-10-14, 写在 C#, 查看 100 次.
URL http://www.code666.cn/view/0c4cf622
  1.  
  2.   private void button1_Click(object sender, EventArgs e)
  3.   {
  4.   Ping p1 = new Ping(); //只是演示,没有做错误处理
  5.   PingReply reply = p1.Send(this.textBox1.Text);//阻塞方式 displayReply(reply); //显示结果 } private void displayReply(PingReply reply) //显示结果
  6.   {
  7.   StringBuilder sbuilder ;
  8.   if (reply.Status == IPStatus.Success)
  9.   {
  10.   sbuilder = new StringBuilder();
  11.   sbuilder.Append(string.Format("Address: {0} ", reply.Address.ToString ()));
  12.   sbuilder.Append(string.Format("RoundTrip time: {0} ", reply.RoundtripTime));
  13.   sbuilder.Append(string.Format("Time to live: {0} ", reply.Options.Ttl));
  14.   sbuilder.Append(string.Format("Don't fragment: {0} ", reply.Options.DontFragment));
  15.   sbuilder.Append(string.Format("Buffer size: {0} ", reply.Buffer.Length));
  16.   listBox1.Items.Add(sbuilder.ToString());
  17.   }
  18.   }[nextpage]
  19.   也可以做异步的处理,修改button1_click,并添加PingCompletedCallBack方法
  20.   private void button1_Click(object sender, EventArgs e)
  21.   {
  22.   Ping p1 = new Ping();
  23.   p1.PingCompleted += new PingCompletedEventHandler(this.PingCompletedCallBack);//设置PingCompleted事件处理程序
  24.   p1.SendAsync(this.textBox1.Text, null);
  25.   }
  26.   private void PingCompletedCallBack(object sender, PingCompletedEventArgs e)
  27.   {
  28.   if (e.Cancelled)
  29.   {
  30.   listBox1.Items.Add("Ping Canncel");
  31.   return;
  32.   }
  33.   if (e.Error != null)
  34.   {
  35.   listBox1.Items.Add(e.Error.Message);
  36.   return;
  37.   }
  38.   StringBuilder sbuilder;
  39.   PingReply reply = e.Reply;
  40.   if (reply.Status == IPStatus.Success)
  41.   {
  42.   sbuilder = new StringBuilder();
  43.   sbuilder.Append(string.Format("Address: {0} ", reply.Address.ToString()));
  44.   sbuilder.Append(string.Format("RoundTrip time: {0} ", reply.RoundtripTime));
  45.   sbuilder.Append(string.Format("Time to live: {0} ", reply.Options.Ttl));
  46.   sbuilder.Append(string.Format("Don't fragment: {0} ", reply.Options.DontFragment));
  47.   sbuilder.Append(string.Format("Buffer size: {0} ", reply.Buffer.Length));
  48.   listBox1.Items.Add(sbuilder.ToString());
  49.   }
  50.   }
  51. //csharp/5832

回复 "c#下实现ping操作代码"

这儿你可以回复上面这条便签

captcha