繁体   English   中英

在C#中验证ping实用程序

[英]In C# verify the ping utility

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

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

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

您可以使用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");
}

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

改用它

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);
}

我想你需要捕获输出,检查是否存在超时字符串,然后根据它做出决定。

捕获输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM