当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-11-03

    本文导语:  方法一:调用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;//重定向标准...

方法一:调用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#中SAPI使用总结——SpVoice的使用方法
  • c#友好显示日期 c#日期datetime使用方法
  • 请问在工作岗位的朋友!使用java开发的公司对c#的态度如何?
  • c#自带缓存使用方法 c#移除清理缓存
  • C#中的switch case使用介绍
  • c# 空合并运算符“??”的使用详解
  • 使用C#实现在屏幕上画图效果的代码实例
  • 深入C#中使用SqlDbType.Xml类型参数的使用详解
  • c#闭包使用方法示例
  • c# split分隔字符串使用方法
  • c#的params参数使用示例
  • c#使用资源文件的示例
  • 使用C# Winform应用程序获取网页源文件的解决方法
  • C#将时间转成文件名使用方法
  • C# 使用匿名函数解决EventHandler参数传递的难题
  • 使用C#获取系统特殊文件夹路径的解决方法
  • C#使用带like的sql语句时防sql注入的方法
  • C#可选参数的相关使用
  • C# 静态构造函数使用总结
  • C# WndProc的使用方法示例
  • 哪位高手可以提供使用C/C++编CGI程序中,使用和设置Cookie的例子。为谢!!!
  • 谁有使用sharetop的webchart的JSP例子呀
  • 100分求java +VC6.0使用JNI的最简单例子
  • sql server 使用ntile获取数据的例子
  • 请问sun的jwsdk的例子中jsp为什么不能使用?
  • 求glib2的使用例子
  • 恳求一个使用frame的JSP例子程序
  • 在borland下载的30天j2ee试用版,它的sample例子怎么不好使用!
  • 哪位有信号量和共享内存同时使用的例子??高分
  • 请问网上何处有关于JUnit的使用例子程序?
  • 需要一个完整的使用jakarta的digester的例子(很简单的也行)。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c/c++预处理命令预#,##使用介绍
  • 使用ps命令,如何使用系统命令根据进程名称获取进程和子进程的ID?除了ps,还有其它系统命令的办法吗?谢谢。
  • linux下free命令显示的内存使用情况分析
  • 在Linux下使用ftp命令,被提示命令没有找到
  • linux下不使用sudo命令执行docker的操作步骤
  • 怎样在命令行使用ftp命令?
  • linux下objdump命令用法介绍及如何使用objdump命令进行反汇编
  • linux命令行下使用curl命令查看自己机器的外网ip
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  • tar命令的-r和--delete子命令该如何使用啊?
  • linux下top命令详解包括top命令参数使用及结果(virt,res,shr)排序举例说明
  • 在LINUX中使用C调用系统命令,怎么取得系统命令的输出?
  • linux top命令详解以及top命令的各项使用技巧详细说明
  • 在windows的命令提示符下使用linux的命令,听说安装一个软件即可?在线等。立刻给分
  • 网络技术 iis7站长之家
  • 请教:使用system(命令)或者exec(命令)启动一个进程执行命令,如何判断这个命令是否启动成功或正在运行?
  • mongoDB 3.2.9 官方下载、安装及mongoDB基本使用命令详细介绍
  • 性能测试中应该用top命令统计cpu使用情况还是ps命令?
  • ftp协议介绍及ftp常用的上传下载等操作命令使用方法
  • 请问在unix下,如何察看以前使用者的使用命令
  • mongodb 数据库常用命令使用实例
  • 我初学NETTERM的使用,在哪里可以找到所有(或常用的)命令的使用方法呢?还是需要在什么书上可以找到?
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3