【问题标题】:In C# verify the ping utility在 C# 中验证 ping 实用程序
【发布时间】:2012-09-19 05:04:34
【问题描述】:

从 C# 控制台应用程序中,我打开了命令提示符并检查了 ping 实用程序。

string aptracommand;
aptracommand = "/C ping 10.38.2.73";
Process.Start(@"cmd",aptracommand);

现在,如果 ping 请求超时,我需要应用条件语句,然后它应该说“无法连接”,如果它能够 ping,那么需要显示“服务器已启动”

【问题讨论】:

    标签: c#


    【解决方案1】:

    我认为您需要捕获输出,检查是否存在超时字符串,然后据此做出决定。

    Capturing the Output

    【讨论】:

      【解决方案2】:

      您可以为此目的使用 Ping 类。如下所述:

      using System.Net.NetworkInformation;
      
      var ping = new Ping();
      var reply = ping.Send("10.38.2.73", 60 * 1000); // 1 minute time out (in ms)
      if (reply.Status == IPStatus.Success)
      {
         Console.WriteLine("Server is up");
      }
      else
      {
         Console.WriteLine("Server is down");
      }
      

      您可以减少超时值以快速检查服务器是否启动或关闭。

      【讨论】:

      • 当我在控制台窗口中完成此操作时,没有任何显示,只是在给定时间后关闭
      • 谢谢你我得到了答案,刚刚添加了console.readline,我就能看到答案了。谢谢
      【解决方案3】:

      改用这个

      Ping pingSender = new Ping ();
      byte[] data = Encoding.ASCII.GetBytes ("test");
      int timeout = 100;
      PingReply reply = pingSender.Send("127.0.0.1", timeout, data);
      if (reply.Status == IPStatus.Success)
      {
          Console.WriteLine("Address: {0}", reply.Address.ToString());
          Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
          Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
      }
      

      【讨论】:

        猜你喜欢
        • 2014-06-24
        • 2011-10-05
        • 2011-09-17
        • 2021-12-09
        • 1970-01-01
        • 2011-06-13
        • 2021-08-08
        • 2018-03-13
        • 2012-12-19
        相关资源
        最近更新 更多