using System.Net.NetworkInformation;

异步调用:

      private void button1_Click(object sender, EventArgs e){Ping p1 = new Ping();p1.PingCompleted += new PingCompletedEventHandler(this.PingCompletedCallBack);//设置PingCompleted事件处理程序   p1.SendAsync(this.textBox1.Text, null);   }private void PingCompletedCallBack(object sender, PingCompletedEventArgs e){if (e.Cancelled){listBox1.Items.Add("Ping Canncel");return;}if (e.Error != null){listBox1.Items.Add(e.Error.Message);return;}// StringBuilder sbuilder;PingReply reply = e.Reply;if (reply.Status == IPStatus.Success){/*sbuilder = new StringBuilder();sbuilder.Append(string.Format("Address: {0} ", reply.Address.ToString()));sbuilder.Append("\\n");sbuilder.Append(string.Format("RoundTrip time: {0} ", reply.RoundtripTime));sbuilder.Append("\n");sbuilder.Append(string.Format("Time to live: {0} ", reply.Options.Ttl));sbuilder.Append("\n");sbuilder.Append(string.Format("Don't fragment: {0} ", reply.Options.DontFragment));sbuilder.Append("\n");sbuilder.Append(string.Format("Buffer size: {0} ", reply.Buffer.Length));sbuilder.Append("\n");listBox1.Items.Add(sbuilder.ToString());*/listBox1.Items.Add(reply.Status.ToString());}else{listBox1.Items.Add(reply.Status.ToString());}}

同步调用:

        private void button2_Click(object sender, EventArgs e){this.listBox1.Items.Clear();  //远程服务器IP  string ipStr = textBox1.Text.ToString().Trim();  //构造Ping实例  Ping pingSender = new Ping();  //Ping 选项设置  PingOptions options = new PingOptions();  options.DontFragment = true;  //测试数据  string data = "test data abcabc";  byte[] buffer = Encoding.ASCII.GetBytes(data);  //设置超时时间  int timeout = 120;  //调用同步 send 方法发送数据,将返回结果保存至PingReply实例  PingReply reply = pingSender.Send(ipStr, timeout, buffer, options);  if (reply.Status == IPStatus.Success)  {  listBox1.Items.Add("答复的主机地址:" + reply.Address.ToString());  listBox1.Items.Add("往返时间:" + reply.RoundtripTime);  listBox1.Items.Add("生存时间(TTL):" + reply.Options.Ttl);  listBox1.Items.Add("是否控制数据包的分段:" + reply.Options.DontFragment);  listBox1.Items.Add("缓冲区大小:" + reply.Buffer.Length);  }  else  listBox1.Items.Add(reply.Status.ToString());  }

c#调用ping命令相关推荐

  1. Qt|Linux工作笔记-异步调用ping命令,重定向获取信息,界面显示

    逻辑: 1.使用QProcess在开线程前设置输出文件[setStandardOutputFile]; 2.开一个线程,去专门调用shell命令,比如ping: 3.Qt读取重定向文件,进行界面显示: ...

  2. python调用ping命令_我可以创建一个脚本来测试是否可以在python服务器上远程使用SSH和PING命令吗? - python...

    我可以创建脚本来测试是否可以在python中远程使用服务器上的SSH和PING命令吗? 参考方案 好的,这是Python3和Linux的示例.只需记住,您的目标主机/服务器必须正在运行SSH服务器才能 ...

  3. python调用ping命令_Windows 中通过Python实现ping命令加时间戳

    由于ping命令在ping的时候无法加入时间,不能够直观分析结果.便想在ping的时候加入时间戳. 1.首先需要系统配置了Python的环境,我的环境如下,这里就不介绍环境搭建步骤. 2.以下是代码展 ...

  4. python调用ping命令并输出ttl_详解Python调用系统命令的六种方法

    作为胶水语言,Python可以很方便的执行系统命令,Python3中常用的执行操作系统命令有os.system().os.popen().subprocess.popen().subprocess.c ...

  5. python调用ping命令_在Python中调用Ping命令,批量IP的方法

    #!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中. p ...

  6. python调用ping命令_python调用系统命令ping

    #! /usr/bin/env python #coding=utf-8 ############# import subprocess import time import os ks=int(ti ...

  7. 用工具刺探主机通信和用系统ping命令有何区别

    ping是操作系统自带的命令,经常用来刺探对端主机是否在线,通信能否畅通.它的原理是在调用ping命令时驱动TCP/IP协议栈的ICMP模块发送icmp echo request消息,待对方主机的IC ...

  8. 使用C#调用外部Ping命令获取网络连接情况

    以前在玩Windows 98的时候,几台电脑连起来,需要测试网络连接是否正常,经常用的一个命令就是Ping.exe.感觉相当实用. 现在 .Net为我们提供了强大的功能来调用外部工具,并通过重定向输入 ...

  9. android手机调用linux ping命令

    开发环境 Eclipse 8.5 在手机的网络环境下,我们需要知道和哪些网络可以连通并进行通信,需要调用操作系统的ping命令 ,在windows平台下ping命令最简单的形式为 ping 127.0 ...

最新文章

  1. [原] Android中怎么将图片平铺
  2. 转载:oracle RAC集群启动和关闭
  3. vuejs和webpack项目(VueComponent)初尝试——瀑布流组件
  4. WPF基础知识学习笔记(一)XAML基础
  5. 如何实现REST资源的输入验证
  6. 斯坦福 CS183 YC 创业课系列中文笔记
  7. iframe 父级元素查找
  8. 发那科程序全部输出_走,去看看发那科机器人全新的自动化解决方案!
  9. easyui tab页面关闭根据回调函数刷新父tab页
  10. c# 进程间的通信实现之一简单字符串收发
  11. amd linux raid,请问AMD RAID驱动怎么用
  12. 微信 qq浏览器服务器,QQ浏览器与微信团队合作推出“微信电脑版”
  13. IC学习笔记9——多比特信号的跨时钟域处理方法之“MUX/DMUX同步器”
  14. java语言中标识符大小写不敏感_下列叙述中,正确的是()。A.Java语言的标识符是区分大小写的B.源文件名与public类名可...
  15. php中composer require和composer require --dev的区别
  16. 如何在word里面打对勾
  17. DE2带的IP核ISP12362报错问题解决 Error:avalon_slave_1_irq: associatedAddressablePoint out of range...
  18. Vuforia官方文档-01-Vuforia功能概述
  19. arcgis伪节点检查_兼顾属性信息的矢量伪节点检查及自动消除方法
  20. 用AI给黑白照片上色,复现记忆中的旧时光

热门文章

  1. 武汉科技大学计算机课程表,武汉科技大学城市学院课程表(本科).doc
  2. JavaScript高级程序设计之客户端检测之怪癖检测第9.2讲笔记
  3. 电压反馈型运算放大器的增益和宽带
  4. Django MTV模式
  5. sequoiadb学习笔记
  6. 并发数、TPS、吞吐量、响应时间、每秒点击数等
  7. C语言错误--[Error] stray '`' in program--解决方法。
  8. [技术讨论]PCB的工艺介绍1之印刷工艺
  9. Submit和execute的区别
  10. 自著——30天自制红孩儿解释器 第2天 A+B-C+D运算的准备 :得到词语的数组