程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> c#下實現ping操作

c#下實現ping操作

編輯:更多關於編程

      首先添加textbox,listbox,button控件,其中textbox錄入域名或IP,listbox顯示結果.

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

      }

      }

      也可以做異步的處理,修改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());

      }

      }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved