C#网速监测

 

主要有两个类,其一是NetworkAdapter,该类的作用是获取本机网络适配器列表,并且可以通过该类的属性获取当前网速数据;其二是NetworkMonitor,该类是通过.NET的PerformanceCounter(性能计数器组件)监测本机每一个网络适配器对应的当前网速状况(翻译得不大好,具体还是看原汁原味的代码吧:))

NetworkAdapter类

NetworkMonitor类

Form关键代码

  1. using NetWorkSpeedMonitor;  
  2.   
  3.         private NetworkAdapter[] adapters;  
  4.         private NetworkMonitor monitor;  
  5.   
  6.         private void FormMain_Load(object sender, System.EventArgs e)  
  7.         {  
  8.             monitor = new NetworkMonitor();  
  9.             this.adapters = monitor.Adapters;  
  10.             /* If the length of adapters is zero, then no instance  
  11.              * exists in the networking category of performance console.*/  
  12.             if (adapters.Length == 0)  
  13.             {  
  14.                 this.ListAdapters.Enabled = false;  
  15.                 MessageBox.Show("No network adapters found on this computer.");  
  16.                 return;  
  17.             }  
  18.             this.ListAdapters.Items.AddRange(this.adapters);  
  19.         }  
  20.   
  21.         private void ListAdapters_SelectedIndexChanged(object sender, System.EventArgs e)  
  22.         {  
  23.             monitor.StopMonitoring();  
  24.             // Start a timer to obtain new performance counter sample every second.   
  25.             monitor.StartMonitoring(adapters[this.ListAdapters.SelectedIndex]);  
  26.             this.TimerCounter.Start();  
  27.         }  
  28.   
  29.         private void TimerCounter_Tick(object sender, System.EventArgs e)  
  30.         {  
  31.             NetworkAdapter adapter = this.adapters[this.ListAdapters.SelectedIndex];  
  32.             /* The DownloadSpeedKbps and UploadSpeedKbps are double values. You can also  
  33.              * use properties DownloadSpeed and UploadSpeed, which are long values but  
  34.              * are measured in bytes per second. */  
  35.             this.LableDownloadValue.Text = String.Format("{0:n} kbps", adapter.DownloadSpeedKbps);  
  36.             this.LabelUploadValue.Text = String.Format("{0:n} kbps", adapter.UploadSpeedKbps);  
  37.         }  

运行效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值