清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
c#下实现ping操作代码
这里我写的是一个窗体程序。首先添加textbox,listbox,button控件,其中textbox录入域名或IP,listbox显示结果.
这里我写的是一个窗体程序。首先添加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()); } } |