C#實現(xiàn)Ping的方法小結
更新時間:2015年08月12日 12:33:56 作者:dyx2010
這篇文章主要介紹了C#實現(xiàn)Ping的方法,以兩個實例形式形式較為詳細的分析了C#實現(xiàn)ping功能的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例總結了C#實現(xiàn)Ping的方法。分享給大家供大家參考。具體如下:
方法一:
class Program
{
public string cmdPing(string strIP)
{
Process myProcess = new Process();
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;
string pingstr;
myProcess.Start();
myProcess.StandardInput.WriteLine("ping " + strIP);
myProcess.StandardInput.WriteLine("exit");
string strRst = myProcess.StandardOutput.ReadToEnd();
if (strRst.IndexOf("(0% loss)") != -1)
pingstr = "連接";
else if (strRst.IndexOf("Destination host unreachable.") != -1)
pingstr = "無法到達主機";
else if (strRst.IndexOf("UnKonw host") != -1)
pingstr = "無法解析主機";
else
pingstr = strRst;
myProcess.Close();
return pingstr;
}
static void Main(string[] args)
{
Program myProgram = new Program();
string returnString = myProgram.cmdPing("127.0.0.1");
Console.WriteLine(returnString);
Console.ReadLine();
}
}
方法二:
static void Main(string[] args)
{
Ping ping = new Ping();
PingOptions pingOption = new PingOptions(50, true);
string data = " you are a such a beautiful girl";
byte[] buffer = Encoding.ASCII.GetBytes(data);
PingReply pingReply = ping.Send("192.168.1.100", 20, buffer);
if (pingReply.Status == IPStatus.Success)
{
Console.WriteLine("address:{0}", pingReply.Address.ToString());
Console.WriteLine("Round Trip time {0}", pingReply.RoundtripTime);
Console.WriteLine("time to live:{0}", pingReply.Options.Ttl);
Console.WriteLine("Do not to fragement:{0}", pingReply.Options.DontFragment);
}
Console.ReadKey();
}
希望本文所述對大家的C#程序設計有所幫助。
相關文章
winfrom 在業(yè)務層實現(xiàn)事務控制的小例子
winfrom 在業(yè)務層實現(xiàn)事務控制的小例子,需要的朋友可以參考一下2013-03-03
用C#獲取硬盤序列號,CPU序列號,網(wǎng)卡MAC地址的源碼
用C#獲取硬盤序列號,CPU序列號,網(wǎng)卡MAC地址的源碼...2007-03-03

