• 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();
    

      

  • 相关阅读:
    江苏高考的程序题
    visio使用小记
    debian+postfix+dovecot+squirrelmail安装配置笔记
    System.Net.Mail
    DBHelper
    朝发白帝城
    《计算机网络》复习题2010
    mvc3在view中获取是否有验证错误
    Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
    ASP.NET MVC3 Model验证总结
  • 原文地址:https://www.cnblogs.com/soundcode/p/13805092.html
Copyright © 2020-2023  润新知