C#使用ping命令的两个例子
C#使用ping命令的两个例子
发布时间:2016-12-28 来源:查字典编辑
摘要:方法一:调用cmd的ping命令privatestaticstringCmdPing(stringstrIp){Processp=newPr...

方法一:调用cmd 的ping命令

private static string CmdPing(string strIp) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe";//设定程序名 p.StartInfo.UseShellExecute = false; //关闭Shell的使用 p.StartInfo.RedirectStandardInput = true;//重定向标准输入 p.StartInfo.RedirectStandardOutput = true;//重定向标准输出 p.StartInfo.RedirectStandardError = true;//重定向错误输出 p.StartInfo.CreateNoWindow = true;//设置不显示窗口 string pingrst; p.Start(); p.StandardInput.WriteLine("ping " + strIp); p.StandardInput.WriteLine("exit"); string strRst = p.StandardOutput.ReadToEnd(); if (strRst.IndexOf("(0% loss)") != -1) { pingrst = "连接"; } else if (strRst.IndexOf("Destination host unreachable.") != -1) { pingrst = "无法到达目的主机"; } else if (strRst.IndexOf("Request timed out.") != -1) { pingrst = "超时"; } else if (strRst.IndexOf("Unknown host") != -1) { pingrst = "无法解析主机"; } else { pingrst = strRst; } p.Close(); return pingrst; }

方法二:使用C#中的ping 类

private void displayReply(PingReply reply) //显示结果 { Ping p1 = new Ping(); //只是演示,没有做错误处理 PingReply reply = p1.Send("填写ip地址"); 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)); response.write(sbuilder.ToString()); } else if (reply.Status == IPStatus.TimeOut) { response.write("超时"); }else{ response.write("失败"); }

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类