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、文本框中用“\r\n” 來換行;
2、可以用textBox2.Refresh()在每一次ping完強制刷新結果文本框。