C#实现Ping的方法小结

 更新时间:2015年08月12日 12:33:56   作者:dyx2010  
这篇文章主要介绍了C#实现Ping的方法,以两个实例形式形式较为详细的分析了C#实现ping功能的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例总结了C#实现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#程序设计有所帮助。

相关文章

  • Unity实现旋转扭曲图像特效

    Unity实现旋转扭曲图像特效

    这篇文章主要为大家详细介绍了Unity实现旋转扭曲图像特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#算法之大牛生小牛的问题高效解决方法

    C#算法之大牛生小牛的问题高效解决方法

    本文主要介绍两种方法处理大牛生小牛的问题,第二种效率更高,希望能给大家一个参考。
    2016-06-06
  • 浅谈Unity中的Shader

    浅谈Unity中的Shader

    Shader,中文名为着色器,对很多开发者来说它是一个神秘的存在。Shader其实就是专门用来渲染图形的一种技术,通过shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果
    2021-06-06
  • C#中radioButton控件使用详细方法示例

    C#中radioButton控件使用详细方法示例

    这篇文章主要给大家介绍了关于C#中radioButton控件使用详细方法的相关资料,RadioButton是圆形单选按钮,在同一个容器中,单选项互斥,不同容器中的RadioButton互相独立,需要的朋友可以参考下
    2023-10-10
  • C#绝对路径拼接相对路径的实例代码

    C#绝对路径拼接相对路径的实例代码

    C#绝对路径拼接相对路径的实例代码,需要的朋友可以参考一下
    2013-03-03
  • C#实现文字视频生成器的示例代码

    C#实现文字视频生成器的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现简易的文字视频生成器,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2022-10-10
  • C#留言时间格式化

    C#留言时间格式化

    本文给大家分享的是仿微博或者空间中,发布内容之后提示NN秒之前留言的代码,主要是通过发布时间和当前时间直接的差值来计算,十分的简单实用,有需要的小伙伴可以参考下。
    2015-05-05
  • C# 使用匿名函数解决EventHandler参数传递的难题

    C# 使用匿名函数解决EventHandler参数传递的难题

    C#动态生成PictureBox并绑定右键菜单,实现删除图片
    2009-05-05
  • C#简单操作MongoDB的步骤全纪录

    C#简单操作MongoDB的步骤全纪录

    最近花了不少时间研究学习了MongoDB数据库的相关知识,下面这篇文章主要给大家介绍了关于C#简单操作MongoDB的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-09-09
  • C#实现xml文件的读取与写入简单实例

    C#实现xml文件的读取与写入简单实例

    这篇文章主要介绍了C#实现xml文件的读取与写入方法,涉及C#操作XML文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08

最新评论