• C# 使用ping命令


    方法一:调用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("失败");

    }

    }

  • 相关阅读:
    团队选题报告
    第二次结对作业
    高级软件工程团队第一次作业
    第一次结队作业
    高级软件工程第二次作业
    高级软件工程第一次作业
    洛谷 题解 2165 [AHOI2009]飞行棋
    洛谷 题解 P1684 考验
    洛谷 题解 P4613 【[COCI2017-2018#5] Olivander】
    洛谷 题解 P5534 【【XR-3】等差数列】
  • 原文地址:https://www.cnblogs.com/xiaonanmu/p/3920039.html
Copyright © 2020-2023  润新知