C#实现Ping的方法小结
本文实例总结了C#实现Ping的方法。分享给大家供大家参考。具体如下:
方法一:
classProgram
{
publicstringcmdPing(stringstrIP)
{
ProcessmyProcess=newProcess();
myProcess.StartInfo.FileName="cmd.exe";
myProcess.StartInfo.UseShellExecute=false;
//要重定向IO流,Process对象必须将UseShellExecute属性设置为False。
myProcess.StartInfo.RedirectStandardOutput=true;
myProcess.StartInfo.RedirectStandardInput=true;
myProcess.StartInfo.RedirectStandardError=true;
stringpingstr;
myProcess.Start();
myProcess.StandardInput.WriteLine("ping"+strIP);
myProcess.StandardInput.WriteLine("exit");
stringstrRst=myProcess.StandardOutput.ReadToEnd();
if(strRst.IndexOf("(0%loss)")!=-1)
pingstr="连接";
elseif(strRst.IndexOf("Destinationhostunreachable.")!=-1)
pingstr="无法到达主机";
elseif(strRst.IndexOf("UnKonwhost")!=-1)
pingstr="无法解析主机";
else
pingstr=strRst;
myProcess.Close();
returnpingstr;
}
staticvoidMain(string[]args)
{
ProgrammyProgram=newProgram();
stringreturnString=myProgram.cmdPing("127.0.0.1");
Console.WriteLine(returnString);
Console.ReadLine();
}
}
方法二:
staticvoidMain(string[]args)
{
Pingping=newPing();
PingOptionspingOption=newPingOptions(50,true);
stringdata="youareasuchabeautifulgirl";
byte[]buffer=Encoding.ASCII.GetBytes(data);
PingReplypingReply=ping.Send("192.168.1.100",20,buffer);
if(pingReply.Status==IPStatus.Success)
{
Console.WriteLine("address:{0}",pingReply.Address.ToString());
Console.WriteLine("RoundTriptime{0}",pingReply.RoundtripTime);
Console.WriteLine("timetolive:{0}",pingReply.Options.Ttl);
Console.WriteLine("Donottofragement:{0}",pingReply.Options.DontFragment);
}
Console.ReadKey();
}
希望本文所述对大家的C#程序设计有所帮助。