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. ionic react-native和native开发移动app到底那个好
  2. js中的数组对象排序(方法sort()详细介绍)
  3. 基于vue和vuex的todos效果展示及源码分享
  4. 筛法求素数c 语言,位筛法求素数,有段代码看不懂,有大佬可以来说一下
  5. 谷歌开源Allstar 项目,保护GitHub 仓库安全
  6. php 什么时候使用单例,php什么时候使用单例模式
  7. 模仿笔迹最好的软件_模仿签名代写签字行业进入战国时代,乱战模式开启!
  8. Redisson 配置
  9. Unity 3D 游戏开发学习资料集合(开发必备)
  10. Windows 7精简版(2019.04.10)
  11. php获取百度搜索的关键词,【2020年】百度搜索词获取,获取百度搜索的关键词【真实有效】...
  12. ZZULIOJ:1148: 组合三位数之一
  13. 京东联盟的开放平台的Python客户端封装
  14. 机器学习分类光谱数据
  15. 2022年SCI期刊最新影响因子正式发布
  16. 超级详细的redis命令大全
  17. 正本清源:为什么区块链是一次新的信息化革命
  18. 计算机类考研文献翻译有哪些,考研专业文献翻译如何准备
  19. 大数据培训完一般可以做哪些工作?
  20. 2018最新史上最全SpringBoot视频教程(完整)

热门文章

  1. 项目经理如何提升个人决策能力?
  2. 摄像机标定技术及其应用——单目摄像机
  3. 苹果iCloud转区指南-最新教程
  4. 语音信号处理复习:WAV文件格式
  5. 词法分析器flex教程
  6. css深入剖析transform的translate和perspective
  7. Java处理GMT时间和UTC时间
  8. 网络的速率和带宽的区别
  9. 【算法----->Locker Doors】
  10. 生信科技爱好者祝大家元宵快乐!