方法一:调用cmd 的ping命令
private static string CmdPing(string strIp)
{
Process p = new Process(); 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;//设置不显示窗口
string pingrst; p.Start(); p.StandardInput.WriteLine(\"ping \" + strIp);
p.StandardInput.WriteLine(\"exit\");
string strRst = p.StandardOutput.ReadToEnd();
if (strRst.IndexOf(\"(0% loss)\") != -1)
{
pingrst = \"连接\";
}
else if (strRst.IndexOf(\"Destination host unreachable.\") != -1)
{
pingrst = \"无法到达目的主机\";
}
else if (strRst.IndexOf(\"Request timed out.\") != -1)
{
pingrst = \"超时\";
}
else if (strRst.IndexOf(\"Unknown host\") != -1)
{
pingrst = \"无法解析主机\";
}
else
{
pingrst = strRst;
}
p.Close();
return pingrst;
}
方法二:使用C#中的ping 类
private void displayReply(PingReply reply) //显示结果
{
Ping p1 = new Ping(); //只是演示,没有做错误处理
PingReply reply = p1.Send(\"填写ip地址\");
StringBuilder sbuilder ;
if (reply.Status == IPStatus.Success)
{
sbuilder = new StringBuilder();
sbuilder.Append(string.Format(\"Address: {0} \", reply.Address.ToString ()));
sbuilder.Append(string.Format(\"RoundTrip time: {0} \", reply.RoundtripTime));
sbuilder.Append(string.Format(\"Time to live: {0} \", reply.Options.Ttl));
sbuilder.Append(string.Format(\"Don\'t fragment: {0} \", reply.Options.DontFragment));
sbuilder.Append(string.Format(\"Buffer size: {0} \", reply.Buffer.Length));
response.write(sbuilder.ToString());
}
else if (reply.Status == IPStatus.TimeOut)
{
response.write(\"超时\");
}else{
response.write(\"失败\");
}
本文地址:https://www.stayed.cn/item/17594
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我