当前位置: 首页 > 编程笔记 >

C#使用ping命令的两个例子

孔磊
2023-03-14
本文向大家介绍C#使用ping命令的两个例子,包括了C#使用ping命令的两个例子的使用技巧和注意事项,需要的朋友参考一下

方法一:调用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("失败");
  }
 类似资料:
  • 本文向大家介绍C#调用CMD命令实例,包括了C#调用CMD命令实例的使用技巧和注意事项,需要的朋友参考一下 有时候有一些DOS命令需要我们在执行程序的时候调用,这需要使用C#提供的相关接口。 代码如下,很简单,相信大家都能看懂,我就不赘述了。

  • 本文向大家介绍C#命令模式用法实例,包括了C#命令模式用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#命令模式。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 托管在EC2中的我的服务(myservice.com)已经启动并运行。我可以看到java进程在机器内运行,但无法从外部机器访问服务。尝试了以下选项, dns short myservice。com ping myservice。com公司 (1) 正在解析并给我ip地址<代码>ping导致100%的数据包丢失。无法访问服务。 不知道去哪里看。一些调试帮助会很有帮助。 编辑: 我之前的部署有一个问题

  • 我有一个由这个JSON描述的node.js包: 文件包含以下代码: 而包含基于YARGS的命令行工具的代码。 现在,我想在这个包中添加第二个命令,但我不知道应该如何继续,因为只能有一个“main”。 有谁有例子吗?

  • 本文向大家介绍mysql 协议的ping命令包及解析详解及实例,包括了mysql 协议的ping命令包及解析详解及实例的使用技巧和注意事项,需要的朋友参考一下 mysql 协议的ping命令包及解析详解 前言: MySQL客户端可以用ping命令来检查服务端的状态,正常会返回ok包。 mysql通信报文结构 类型 名字 描述 int<3> payload长度 按照the least signifi

  • 本文向大家介绍python实现ping命令小程序,包括了python实现ping命令小程序的使用技巧和注意事项,需要的朋友参考一下 ping的原理是发送一个ICMP请求包,然后根据目的地址的应答包来判断是否能够和这个主机进行通信。 我们使用python实现,借助于scapy来进行编写程序。 但现在为止,我们的ping小程序就用python实现了,接下来就可以用wireshark工具抓包来看一下,进