WEB开发网
开发学院WEB开发ASP.NET c#下实现ping操作 阅读

c#下实现ping操作

 2012-11-30 16:36:00 来源:WEB开发网   
核心提示: 首先添加textbox,listbox,button控件,其中textbox录入域名或IP,c#下实现ping操作,listbox显示结果.在button1_click事件键入private void button1_Click(object sender, EventArgs e){Ping p1 = new Pi

 首先添加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());
}
}

Tags:实现 ping 操作

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接