zoukankan      html  css  js  c++  java
  • NetworkInterface网速监测

       private NetworkInterface[] nicArr;  //网卡集合
            private Timer timer;    //计时器
    
            public MainWindow()
            {
                InitializeComponent();
    
                InitNetworkInterface();
                InitializeTimer();
            }
    
    
            /// <summary>
            /// 初始化网卡
            /// </summary>
            private void InitNetworkInterface()
            {
                nicArr = NetworkInterface.GetAllNetworkInterfaces();
                for (int i = 0; i < nicArr.Length; i++)
                    cboNetworkInterface.Items.Add(nicArr[i].Name);
                cboNetworkInterface.SelectedIndex = 0;
            }
    
            /// <summary>
            /// 初始化计时器
            /// </summary>
            private void InitializeTimer()
            {
                timer = new Timer();
                timer.Interval = 1000;
                timer.Elapsed += timer_Elapsed;
                timer.Start();
            }
    
            void timer_Elapsed(object sender, ElapsedEventArgs e)
            {
                this.Dispatcher.Invoke(() =>
                {
                    UpdateNetworkInterface();
                });
            }
    
            /// <summary>
            /// 获取网络数据并更新到UI
            /// </summary>
            private void UpdateNetworkInterface()
            {
                NetworkInterface nic = nicArr[cboNetworkInterface.SelectedIndex];
    
                IPv4InterfaceStatistics interfaceStats = nic.GetIPv4Statistics();
    
                int bytesSentSpeed = (int)(interfaceStats.BytesSent - double.Parse(txtbBytesSent.Text)) / 1024;
                int bytesReceivedSpeed = (int)(interfaceStats.BytesReceived - double.Parse(txtbBytesReceived.Text)) / 1024;
    
                //更新控件
    
                  txtbSpeed.Text = nic.Speed.ToString()  +"  "+nic.GetPhysicalAddress().ToString().Trim()+"  "+nic.NetworkInterfaceType.ToString().Trim();
                //  txtbInterfaceType.Text = nic.NetworkInterfaceType.ToString();
                //txtbSpeed.Text = nic.Speed.ToString();
                txtbBytesReceived.Text = interfaceStats.BytesReceived.ToString();
                txtbBytesSent.Text = interfaceStats.BytesSent.ToString();
                txtbSentSecond.Text = bytesSentSpeed.ToString() + " KB/s";
                txtbReceivedSecond.Text = bytesReceivedSpeed.ToString() + " KB/s";
    
            }
    

      

  • 相关阅读:
    [Z]芯片设计经验
    ADF4350初始化程序(verilog)
    基于Altera FPGA的LVDS配置应用一例
    M4K使用率
    榨干FPGA片上存储资源
    ios通讯录复制出来的电话号码两端有隐藏字符串
    PHP做APP接口时,如何保证接口的安全性
    【PHP】微信开放平台---消息加解密-php7.1 使用openssl代替Mcrypt
    Gram矩阵(pytorch)
    数据库范式
  • 原文地址:https://www.cnblogs.com/xiangxiong/p/7403074.html
Copyright © 2011-2022 走看看