zoukankan      html  css  js  c++  java
  • 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("失败");

    }

    }

  • 相关阅读:
    「2017 Multi-University Training Contest 7」2017多校训练7
    「2017 Multi-University Training Contest 2」2017多校训练2
    「CF838B」 Diverging Directions
    对拍程序
    ACM中的fread读入
    「UVA10766」Organising the Organisation(生成树计数)
    荣耻
    CCF 201812-3 CIDR合并
    CCF 201909-3 字符画
    CTSC 2017 游戏[概率dp 线段树]
  • 原文地址:https://www.cnblogs.com/xiaonanmu/p/3920039.html
Copyright © 2011-2022 走看看