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#程序设计有所帮助。

(0)

相关推荐

  • C# ping网络IP 实现网络状态检测的方法

    C# ping网络IP 实现网络状态检测的方法 public string GetHostNameByIp(string ip)  {  ip = ip.Trim();  if (ip == string.Empty)  return string.Empty;  try  {  // 是否 Ping 的通  if (this.Ping(ip))  {  System.Net.IPHostEntry host = System.Net.Dns.GetHostEntry(ip);  return 

  • 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 对象必须将 Us

  • python字符类型的一些方法小结

    int 数字类型 class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are given. If x is floating point, the conversion truncates towards zero. If

  • js在ie下打开对话窗口的方法小结

    对话框的性质分为模态对话框和非模态对话框: 1.模态对话框: 打开该对话框之后,在该对话框之外的一切操作都是被禁止的,要想进行其他操作,必须先关闭本对话框. js命令: showModalDialog(); 2.非模态对话框: 和模态对话框相反,打开之后,仍可以进行对话框之外的操作. js命令: showModelessDialog(); 以上就是小编为大家带来的js在ie下打开对话窗口的方法小结全部内容了,希望大家多多支持我们~

  • sqlserver分页查询处理方法小结

    sqlserver2008不支持关键字limit ,所以它的分页sql查询语句将不能用MySQL的方式进行,幸好sqlserver2008提供了top,rownumber等关键字,这样就能通过这几个关键字实现分页. 下面是本人在网上查阅到的几种查询脚本的写法: 几种sqlserver2008高效分页sql查询语句 top方案: sql code: select top 10 * from table1 where id not in(select top 开始的位置 id from table1

  • c++获取sqlite3数据库表中所有字段的方法小结

    常用方法: 1.使用sqlite3_get_table函数 2.获取sqlite创建表的sql语句字符串,然后进行解析获取到相应的字段 3.采用配置文件的方式,将所有字段名写入配置文件 下面针对这三个方法给大家逐一详细介绍. 方法1:使用sqlite3_get_table函数 代码: char *dbname = "test.db"; int rc = sqlite3_open(dbname, &db); if (rc == SQLITE_OK) { char sql[256]

  • SQL Server 常用函数使用方法小结

    之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值是 0,而 SQL 里面起始值是 1.傻傻分不清楚... 这篇博客作为记录 SQL 的函数的使用方法,想到哪里用到哪里就写到哪里... SubString():用于截取指定字符串的方法.该方法有三个参数: 参数1:用于指定要操作的字符串. 参数2:用于指定要截取的字符串的起始位置,起始值为 1 . 参数3:用于指定要截取的长度. select sub

  • Nginx实现404页面的方法小结

    第一种:Nginx自己的错误页面 Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢? 看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能. server { listen 80; server_name www.test.com; root /var/www/test; index index.html index.htm; location / { } # 定义错误页面码,如果出现相应的错误页面码,转发到那里. erro

  • Java中Spring获取bean方法小结

    Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢? Bean工厂(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高级IoC的配置机制.BeanFactory使管理不同类型的Java对象成为可能,应用上下文(com.springframework.context.ApplicationContext)建立在BeanFactory基础之上,提供

  • iOS UIView常见属性方法小结

    下面通过实例代码给大家详细介绍了iOS UIView常见属性方法,具体代码如下所示: UIView : UIResponder /** 通过一个frame来初始化一个UI控件 */ - (id)initWithFrame:(CGRect)frame; // YES:能够跟用户进行交互 @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES // 控件的一

  • Java中使用WebUploader插件上传大文件单文件和多文件的方法小结

    一.使用webuploader插件的原因说明 被现在做的项目坑了. 先说一下我的项目架构spring+struts2+mybatis+MySQL 然后呢.之前说好的按照2G上传就可以了,于是乎,用了ajaxFileUpload插件,因为之前用图片上传也是用这个,所以上传附件的时候就直接拿来用了 各种码代码,测试也测过了,2G文件上传没问题,坑来了,项目上线后,客户又要求上传4G文件,甚至还有20G以上的..纳尼,你不早说哦... 在IE11下用ajaxFileUpload.js插件上传超过4G的

随机推荐