Windows的命令行里,ping的用法如下图:
C#中,Ping的写法也日趋简单。(教材上的Ping内容需要设置太多内容,本专业不需要掌握)
大致步骤如下:
- 创建用于发出ping命令的对象:
Ping ping = new Ping();
- 创建用于接收对端主机反馈的对象;
PingReply pr;
- 获取对端主机的ip地址(有问题需要报错);
ip1 = (Dns.GetHostAddresses(args[0]))[0].ToString();
args[0]表示用控制台执行程序的时候,后面跟的第一个参数。
- 理解反馈中各个部分的含义;
-
pr.Address表示响应的主机
-
pr.Buffer表示响应的字节,pr.Buffer.Length也就是字节长度
-
pr.RoundtripTime表示ping包来回所用的时间(ms)
-
pr.Options.Ttl表示返回报文的TTL值
-
pr.Status表示ping命令执行的结果,在失败的时候可以用pr.Status.ToString()查看失败原因。
-
- 根据反馈内容给出不同的输出
if (pr.Status == IPStatus.Success) { Console.WriteLine($"成功的提示"); } else { Console.WriteLine($"失败的提示"); }
可以用Thread.Sleep(1000)每隔一秒发送一个ping包。
大家试着用控制台完成以下效果的程序:
可以试试按照windows下标准ping那样,在命令结束后添加统计信息。
这个功能在winform下又该如何完成呢?
注意:
1、文本框中用“ ” 来换行;
2、可以用textBox2.Refresh()在每一次ping完强制刷新结果文本框。