您的位置首页生活百科

ping或者pingreply

ping或者pingreply

的有关信息介绍如下:

ping或者pingreply

1.获得本机IP: string IPAddress = Dns.GetHostEntry("").AddressList[0]; 2.模仿CMD的Ping public void Ping(string[] args) { Ping pingsender = new Ping(); PingOptions options = new PingOptions(); PingReply reply; string format = "Reply from {0}: bytes = 32 time={1} TTL = {2}"; options.DontFragment = true; string data = "abcdefghijklmnopqrstuvwxyzabcdef"; byte[] buffer = Encoding.ASCII.GetBytes (data); int timeout = 120; Console.WriteLine("Pinging {0} with 32 bytes of data:\n", args[0]); for( int i = 0; i < 4; i++ ){ reply = pingSender.Send (args[0], timeout, buffer, options);if (reply.Status == IPStatus.Success){Console.WriteLine(string.Format(format, reply.Address, reply.RoundtripTime, reply.Options.Ttl); }} }==============================解释一下:1.更稳妥的写法是:IPHostEntry host; host = Dns.GetHostEntry(""); Console.WriteLine("GetHostEntry({0}) returns:", hostname); foreach (IPAddress ip in host.AddressList) { Console.WriteLine(" {0}", ip); }这样,如果机器有多个IP,也可以全拿到。(来源MSDN)2.上面的获取IP的方法,如果计算机在内网,有可能拿到类似192.168.1.100之类的内网IP。3.在if (reply.Status == IPStatus.Success)一句,也可以switch(reply.Status)的值,从而模仿CMD下Ping命令的“Request Time Out”“Hardware Error”错误提示总之,用Ping类可以完全模拟CMD下的Ping命令输出。