• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

c#下实现ping操作代码

OC/C/C++ 水墨上仙 1046次浏览

c#下实现ping操作代码
这里我写的是一个窗体程序。首先添加textbox,listbox,button控件,其中textbox录入域名或IP,listbox显示结果.
来源:http://blog.csdn.net/pplsunny/article/details/8243674

  在button1_click事件键入

  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());
  }
  }


喜欢 (0)
加载中……