博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net网络速度测试-转
阅读量:6647 次
发布时间:2019-06-25

本文共 2551 字,大约阅读时间需要 8 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Diagnostics;namespace ConsoleApplication1{    public static class Ping    {        #region codes        private const int TIME_OUT = 100;        private const int PACKET_SIZE = 512;        private const int TRY_TIMES = 2;        private static Regex _reg = new Regex(@"时间=(.*?)ms", RegexOptions.Multiline | RegexOptions.IgnoreCase);        private static float LaunchPing(string strCommandline, int packetSize)        {            Process proc = new Process();            proc.StartInfo.Arguments = strCommandline;            proc.StartInfo.UseShellExecute = false;            proc.StartInfo.CreateNoWindow = true;            proc.StartInfo.FileName = "ping.exe";            proc.StartInfo.RedirectStandardInput = true;            proc.StartInfo.RedirectStandardOutput = true;            proc.StartInfo.RedirectStandardError = true;            proc.Start();            string strBuffer = proc.StandardOutput.ReadToEnd();            proc.Close();            Console.WriteLine(strCommandline);            Console.WriteLine(strBuffer);            return ParseResult(strBuffer, packetSize);        }        private static float ParseResult(string strBuffer, int packetSize)        {            if (strBuffer.Length < 1) return 0.0F;            MatchCollection mc = _reg.Matches(strBuffer);            if (mc == null || mc.Count < 1 || mc[0].Groups == null) return 0.0F;            int avg;            if (!int.TryParse(mc[0].Groups[1].Value, out avg)) return 0.0F;            if (avg <= 0) return 1024.0F;            return (float)packetSize / avg * 1000 / 1024;        }        #endregion codes        ///         ///        ///         /// 主机名或ip        /// 
kbps/s
public static float Test(string strHost) { return LaunchPing(string.Format("{0} -n {1} -l {2} -w {3}", strHost, TRY_TIMES, PACKET_SIZE, TIME_OUT), PACKET_SIZE); } /// /// /// /// 主机名或ip /// 发送测试包大小 /// 超时 /// 测试次数 ///
kbps/s
public static float Test(string strHost, int PacketSize, int TimeOut, int TryTimes) { return LaunchPing(string.Format("{0} -n {1} -l {2} -w {3}", strHost, TryTimes, PacketSize, TimeOut), PacketSize); } } class Program { static void Main(string[] args) { Console.WriteLine(Ping.Test("baidu.com")); Console.Read(); } }}

  

转载地址:http://qeuto.baihongyu.com/

你可能感兴趣的文章
C++--标准库 字符串类
查看>>
Java的新项目学成在线笔记-day1(七)
查看>>
160个CRACK_ME系列 第一弹
查看>>
什么是记录型数字压力表?被应用在哪些领域?
查看>>
零基础学习Python的4个方法
查看>>
Clouds
查看>>
好程序员带你认识HTML5中的WebSocket
查看>>
PDA是什么功能有哪些
查看>>
一文了解 SaCa DataViz 企业版和标准版的区别
查看>>
CentOS 5的KVM安装使用说明
查看>>
php warning: php startup: in unknown on line 0
查看>>
【CentOS 7.1】配置防火墙 iptables
查看>>
二十七、单张图片上传预览
查看>>
一例千万级pv高性能高并发网站架构
查看>>
Android平台通用安全问题分析及策略(一)
查看>>
Oracle面向对象的应用实例
查看>>
总结-计划
查看>>
POJ 2506 Tiling dp+大数 水题
查看>>
EasyCHM - 电子书制作软件
查看>>
电脑组装图文教程电子书
查看>>