C#使用ping命令的两个例子
方法一:调用cmd的ping命令
privatestaticstringCmdPing(stringstrIp)
{
Processp=newProcess();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;//设置不显示窗口
stringpingrst;p.Start();p.StandardInput.WriteLine("ping"+strIp);
p.StandardInput.WriteLine("exit");
stringstrRst=p.StandardOutput.ReadToEnd();
if(strRst.IndexOf("(0%loss)")!=-1)
{
pingrst="连接";
}
elseif(strRst.IndexOf("Destinationhostunreachable.")!=-1)
{
pingrst="无法到达目的主机";
}
elseif(strRst.IndexOf("Requesttimedout.")!=-1)
{
pingrst="超时";
}
elseif(strRst.IndexOf("Unknownhost")!=-1)
{
pingrst="无法解析主机";
}
else
{
pingrst=strRst;
}
p.Close();
returnpingrst;
}
方法二:使用C#中的ping类
privatevoiddisplayReply(PingReplyreply)//显示结果
{
Pingp1=newPing();//只是演示,没有做错误处理
PingReplyreply=p1.Send("填写ip地址");
StringBuildersbuilder;
if(reply.Status==IPStatus.Success)
{
sbuilder=newStringBuilder();
sbuilder.Append(string.Format("Address:{0}",reply.Address.ToString()));
sbuilder.Append(string.Format("RoundTriptime:{0}",reply.RoundtripTime));
sbuilder.Append(string.Format("Timetolive:{0}",reply.Options.Ttl));
sbuilder.Append(string.Format("Don'tfragment:{0}",reply.Options.DontFragment));
sbuilder.Append(string.Format("Buffersize:{0}",reply.Buffer.Length));
response.write(sbuilder.ToString());
}
elseif(reply.Status==IPStatus.TimeOut)
{
response.write("超时");
}else{
response.write("失败");
}
热门推荐
10 毛笔哥哥结婚祝福语简短
11 向国庆送祝福语简短
12 建队节祝福语简短
13 朋友喜得外孙简短祝福语
14 小店营业的祝福语简短
15 餐饮生日祝福语简短独特
16 鲜花英语祝福语卡片简短
17 男朋友暴富祝福语简短
18 婶婶拜年祝福语大全简短