c#调用ping命令
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命令相关推荐
- Qt|Linux工作笔记-异步调用ping命令,重定向获取信息,界面显示
逻辑: 1.使用QProcess在开线程前设置输出文件[setStandardOutputFile]; 2.开一个线程,去专门调用shell命令,比如ping: 3.Qt读取重定向文件,进行界面显示: ...
- python调用ping命令_我可以创建一个脚本来测试是否可以在python服务器上远程使用SSH和PING命令吗? - python...
我可以创建脚本来测试是否可以在python中远程使用服务器上的SSH和PING命令吗? 参考方案 好的,这是Python3和Linux的示例.只需记住,您的目标主机/服务器必须正在运行SSH服务器才能 ...
- python调用ping命令_Windows 中通过Python实现ping命令加时间戳
由于ping命令在ping的时候无法加入时间,不能够直观分析结果.便想在ping的时候加入时间戳. 1.首先需要系统配置了Python的环境,我的环境如下,这里就不介绍环境搭建步骤. 2.以下是代码展 ...
- python调用ping命令并输出ttl_详解Python调用系统命令的六种方法
作为胶水语言,Python可以很方便的执行系统命令,Python3中常用的执行操作系统命令有os.system().os.popen().subprocess.popen().subprocess.c ...
- python调用ping命令_在Python中调用Ping命令,批量IP的方法
#!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中. p ...
- python调用ping命令_python调用系统命令ping
#! /usr/bin/env python #coding=utf-8 ############# import subprocess import time import os ks=int(ti ...
- 用工具刺探主机通信和用系统ping命令有何区别
ping是操作系统自带的命令,经常用来刺探对端主机是否在线,通信能否畅通.它的原理是在调用ping命令时驱动TCP/IP协议栈的ICMP模块发送icmp echo request消息,待对方主机的IC ...
- 使用C#调用外部Ping命令获取网络连接情况
以前在玩Windows 98的时候,几台电脑连起来,需要测试网络连接是否正常,经常用的一个命令就是Ping.exe.感觉相当实用. 现在 .Net为我们提供了强大的功能来调用外部工具,并通过重定向输入 ...
- android手机调用linux ping命令
开发环境 Eclipse 8.5 在手机的网络环境下,我们需要知道和哪些网络可以连通并进行通信,需要调用操作系统的ping命令 ,在windows平台下ping命令最简单的形式为 ping 127.0 ...
最新文章
- [原] Android中怎么将图片平铺
- 转载:oracle RAC集群启动和关闭
- vuejs和webpack项目(VueComponent)初尝试——瀑布流组件
- WPF基础知识学习笔记(一)XAML基础
- 如何实现REST资源的输入验证
- 斯坦福 CS183 YC 创业课系列中文笔记
- iframe 父级元素查找
- 发那科程序全部输出_走,去看看发那科机器人全新的自动化解决方案!
- easyui tab页面关闭根据回调函数刷新父tab页
- c# 进程间的通信实现之一简单字符串收发
- amd linux raid,请问AMD RAID驱动怎么用
- 微信 qq浏览器服务器,QQ浏览器与微信团队合作推出“微信电脑版”
- IC学习笔记9——多比特信号的跨时钟域处理方法之“MUX/DMUX同步器”
- java语言中标识符大小写不敏感_下列叙述中,正确的是()。A.Java语言的标识符是区分大小写的B.源文件名与public类名可...
- php中composer require和composer require --dev的区别
- 如何在word里面打对勾
- DE2带的IP核ISP12362报错问题解决 Error:avalon_slave_1_irq: associatedAddressablePoint out of range...
- Vuforia官方文档-01-Vuforia功能概述
- arcgis伪节点检查_兼顾属性信息的矢量伪节点检查及自动消除方法
- 用AI给黑白照片上色,复现记忆中的旧时光
热门文章
- 武汉科技大学计算机课程表,武汉科技大学城市学院课程表(本科).doc
- JavaScript高级程序设计之客户端检测之怪癖检测第9.2讲笔记
- 电压反馈型运算放大器的增益和宽带
- Django MTV模式
- sequoiadb学习笔记
- 并发数、TPS、吞吐量、响应时间、每秒点击数等
- C语言错误--[Error] stray '`' in program--解决方法。
- [技术讨论]PCB的工艺介绍1之印刷工艺
- Submit和execute的区别
- 自著——30天自制红孩儿解释器 第2天 A+B-C+D运算的准备 :得到词语的数组