zoukankan      html  css  js  c++  java
  • C#使用ping命令

    说明,使用ping工具

    1.可以用来查询域名是否可以访问

    2.可以用来查询域名对应的ip地址

    如果远程服务器允许ping命令的前提下。

    一、使用Ping类,效率比较高,相应快

    程序集 System

    命名空间:namespace System.Net.NetworkInformation

    //------------使用ping类------
    string host = "www.baidu.com";
    Ping p1 = new Ping();
    PingReply reply = p1.Send(host); //发送主机名或Ip地址
    StringBuilder sbuilder;
    if (reply.Status == IPStatus.Success)
    {
        sbuilder = new StringBuilder();
        sbuilder.AppendLine(string.Format("Address: {0} ", reply.Address.ToString()));
        sbuilder.AppendLine(string.Format("RoundTrip time: {0} ", reply.RoundtripTime));
        sbuilder.AppendLine(string.Format("Time to live: {0} ", reply.Options.Ttl));
        sbuilder.AppendLine(string.Format("Don't fragment: {0} ", reply.Options.DontFragment));
        sbuilder.AppendLine(string.Format("Buffer size: {0} ", reply.Buffer.Length));
        Console.WriteLine(sbuilder.ToString());
    }
    else if (reply.Status == IPStatus.TimedOut)
    {
        Console.WriteLine("超时");
    }
    else
    {
        Console.WriteLine("失败");
    }
    

      

    二、使用cmd命令,启动其他进程获取,等待时间长,不推荐

                string host = "www.baidu.com";
                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 " + host); //主机或ip地址
                p.StandardInput.WriteLine("exit");
                string strRst = p.StandardOutput.ReadToEnd();
                Console.WriteLine(strRst);
                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();
    

      

  • 相关阅读:
    js 变速动画函数
    js 获取滚动条事件
    js 获取任意一个元素的任意一个样式属性的值
    js 三大事件(鼠标.键盘.浏览器)
    关于数组的一些方法
    mvc获取时间戳
    html5响应式设置<meta>
    jq遍历url判断是否为当前页面然后给导航上色
    mvc正则@符号js报错解决办法
    无法在提交表单前通过ajax验证解决办法
  • 原文地址:https://www.cnblogs.com/soundcode/p/13805092.html
Copyright © 2011-2022 走看看