Ejemplo n.º 1
0
        public void WhenCallingWifiAndWirelessNetworkInterfaceExistsShouldReturnTrue()
        {
            var wirelessInterface = new WirelessNetworkInterface();

            NetworkInterface.NetworkInterfaces = new INetworkInterface[] { wirelessInterface };

            Assert.True(this.ConnectionInfo.Wifi);
        }
Ejemplo n.º 2
0
        public void WhenCallingWifiAndMoreThanOneNetworkInterfaceExistsAndFirstOneIsUSBSkipItAndUseFirstWireless()
        {
            var networkInterface = new NetworkInterface();

            networkInterface.Name = "USB Cable";
            var wirelessInterface = new WirelessNetworkInterface();

            NetworkInterface.NetworkInterfaces = new INetworkInterface[] { networkInterface, wirelessInterface };

            Assert.True(this.ConnectionInfo.Wifi);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 读取wifi信息
 /// </summary>
 /// <returns></returns>
 public WirelessNetworkInterface GetWifiStatus()
 {
     try
     {
         non_wzc = null;
         foreach (INetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
         {
             if (ni is WirelessNetworkInterface)
             {
                 non_wzc = ni as WirelessNetworkInterface;
             }
         }
     }
     catch
     {
     }
     return(non_wzc);
 }
Ejemplo n.º 4
0
        public void WhenCallingWifiAndMoreThanOneNetworkInterfaceExistsAndFirstOneIsUSBSkipItAndUseFirstWireless()
        {
            var networkInterface = new NetworkInterface();
            networkInterface.Name = "USB Cable";
            var wirelessInterface = new WirelessNetworkInterface();

            NetworkInterface.NetworkInterfaces = new INetworkInterface[] { networkInterface, wirelessInterface };

            Assert.True(this.ConnectionInfo.Wifi);
        }
Ejemplo n.º 5
0
        public void WhenCallingWifiAndWirelessNetworkInterfaceExistsShouldReturnTrue()
        {
            var wirelessInterface = new WirelessNetworkInterface();
            NetworkInterface.NetworkInterfaces = new INetworkInterface[] { wirelessInterface };

            Assert.True(this.ConnectionInfo.Wifi);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 检查wifi状态
        /// </summary>
        /// <param name="msg">返回检查结果</param>
        /// <returns></returns>
        public bool isConnectWifi(string _IpAddress, out string msg)
        {
            bool result = false;

            msg = "";
            WirelessNetworkInterface wni = GetWifiStatus();

            try
            {
                if (wni == null)
                {
                    msg = "未开启Wifi";
                }
                else if (wni.CurrentIpAddress.ToString() != _IpAddress)
                {
                    msg = "正在获取IP地址 " + wni.CurrentIpAddress.ToString();
                }
                else if (wni.InterfaceOperationalStatus == InterfaceOperationalStatus.Operational)
                {
                    switch (wni.SignalStrength.Strength)
                    {
                    case StrengthType.NoSignal:
                        msg    = "Wifi没信号";
                        result = false;
                        break;

                    case StrengthType.VeryLow:
                        msg    = "Wifi信号极低(" + wni.SignalStrength.Decibels + ")";
                        result = false;
                        break;

                    case StrengthType.Low:
                        msg    = "Wifi信号低(" + wni.SignalStrength.Decibels + ")";
                        result = true;
                        break;

                    case StrengthType.Good:
                        msg    = "Wifi信号好(" + wni.SignalStrength.Decibels + ")";
                        result = true;
                        break;

                    case StrengthType.VeryGood:
                        msg    = "Wifi信号很好(" + wni.SignalStrength.Decibels + ")";
                        result = true;
                        break;

                    case StrengthType.Excellent:
                        msg    = "Wifi信号极好(" + wni.SignalStrength.Decibels + ")";
                        result = true;
                        break;
                    }
                    if (wifiMAC != wni.AssociatedAccessPointMAC.ToString())
                    {
                        wifiMAC = wni.AssociatedAccessPointMAC.ToString();
                        msg    += " 切换WIFI";
                    }
                    msg += " MAC->" + wifiMAC;
                }
                else
                {
                    msg = "Wifi未开启";
                }
            }
            catch
            {
                CloseNI();
                //NetWorkScript.Instance.release();
                //MessageBox.Show("Wifi模块异常!");
                msg = "Wifi模块异常";
            }
            return(result);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 重置Wifi模块
 /// </summary>
 public void CloseNI()
 {
     non_wzc = null;
 }
Ejemplo n.º 8
0
        private void Test()
        {
            WirelessNetworkInterface wni = WifiCtrl.GetInstance().GetWifiStatus();
            int    count    = 0;
            int    rtt      = 0;
            int    rttTotal = 0;
            string tmp      = "";
            string errMsg   = "";

            tb_testMsg.BackColor = Color.Gray;
            tb_testMsg.Text      = "\r\n  [1]开始检测Wifi...";
            if (wni.InterfaceOperationalStatus == InterfaceOperationalStatus.NonOperational)
            {
                tb_testMsg.Text      = "\r\n\r\n                检测结果\r\n  连接不到Wifi!\r\n\r\n";
                tb_testMsg.BackColor = Color.Red;
                return;
            }
            else
            {
                tb_testMsg.Text += "连接正常\r\n     SSID:" + wni.AssociatedAccessPoint + "  信号:";
                switch (wni.SignalStrength.Strength)
                {
                case StrengthType.NoSignal:
                    tb_testMsg.Text += "没信号";
                    errMsg           = "Wifi信号弱;";
                    break;

                case StrengthType.VeryLow:
                    tb_testMsg.Text += "极低";
                    errMsg           = "Wifi信号弱;";
                    break;

                case StrengthType.Low:
                    tb_testMsg.Text += "低";
                    break;

                case StrengthType.Good:
                    tb_testMsg.Text += "好";
                    break;

                case StrengthType.VeryGood:
                    tb_testMsg.Text += "很好";
                    break;

                case StrengthType.Excellent:
                    tb_testMsg.Text += "极好";
                    break;
                }
            }
            tmp              = "\r\n\r\n  [2]测试连接服务器...";
            tb_testMsg.Text += tmp;
            for (int i = 0; i < 10; i++)
            {
                if (WifiCtrl.GetInstance().Ping(_serverIP, out rtt))
                {
                    count++;
                    rttTotal += rtt;
                }
                else
                {
                    rttTotal += 500;
                }
            }
            tb_testMsg.Text += "连接正常\r\n     状态:";
            if (count > 7)
            {
                tb_testMsg.Text += "很好";
            }
            else if (count > 5 && count < 8)
            {
                tb_testMsg.Text += "一般";
            }
            else if (count > 2 && count < 6)
            {
                tb_testMsg.Text += "较慢";
                errMsg          += "连接不稳定;";
            }
            else if (count < 3)
            {
                tb_testMsg.Text      = "\r\n\r\n                检测结果\r\n\r\n\r\n  网络异常!\r\n\r\n";
                tb_testMsg.ForeColor = Color.Red;
                return;
            }
            tb_testMsg.Text += "\r\n     丢包[" + count + "/10] 延迟:" + rttTotal / 10 + "ms\r\n";
            if (count > 2)
            {
                tb_testMsg.Text += "\r\n  [3]测试通讯功能...";

                //if (m_socketClient != null)
                //{
                //this.Disconnect();
                // }
                //this.Connect();

                _pFlag   = 97;
                _codeStr = tb_testMsg.Text;
                //SendOneDatagram();
                NewTransmit();
                if (_outStr == "test")
                {
                    tb_testMsg.Text += "通讯正常\r\n";
                }
                else
                {
                    tb_testMsg.Text      = "  \r\n\r\n                检测结果\r\n\r\n\r\n  与服务器通讯异常!\r\n\r\n";
                    tb_testMsg.BackColor = Color.Red;
                    return;
                }
                //if (m_socketClient != null)
                //{
                //this.Disconnect();
                // }
            }
            int now_power = GetPower();

            if (now_power > 0 && now_power < 25)
            {
                errMsg += "电量低;";
            }

            if (errMsg == "")
            {
                tb_testMsg.Text     += "\r\n  [4]测试结果:正常\r\n\r\n";
                tb_testMsg.BackColor = Color.Green;
            }
            else
            {
                tb_testMsg.BackColor = Color.Yellow;
                tb_testMsg.Text     += "\r\n  [4]不理想,有以下问题:\r\n " + errMsg + "\r\n\r\n";
            }
            tb_testMsg.Text += "     按1重新检测\r\n     按ESC返回主界面";
        }