Exemplo n.º 1
0
        /// <summary>
        /// 获取IP地址(命令)
        /// </summary>
        /// <param name="DianYuanID"></param>
        /// <returns></returns>
        public async Task <PowerIPConfigInfo> SendCMD_GetIP(string DianYuanID)
        {
            PowerIPConfigInfo vIPConfigResult = new PowerIPConfigInfo();
            bool vResult = await asyncSendCommandToDB(DianYuanID, PowerDataPack_Send_CommandEnum.Send_GetIPAddress);

            if (vResult)
            {
                PowerNetConfigEFModel vPowerNetConfigEFModel = new PowerNetConfigEFModel()
                {
                    MAC = DianYuanID
                };

                PowerNetConfigEFModel[] vSelectResult = m_BasicDBClass_Send.SelectRecordsEx(vPowerNetConfigEFModel);
                if (vSelectResult != null && vSelectResult.Length > 0)
                {
                    vIPConfigResult = new PowerIPConfigInfo()
                    {
                        MAC             = DianYuanID,
                        Gateway         = vSelectResult[0].Gateway,
                        IPAddress       = vSelectResult[0].IPAddress,
                        IsDHCP          = vSelectResult[0].DHCP,
                        Port            = vSelectResult[0].Port ?? 0,
                        ServerIPAddress = vSelectResult[0].ServerIPAddress,
                        ServerPort      = vSelectResult[0].ServerPort ?? 0,
                        SubMask         = vSelectResult[0].SubMask
                    };
                }
            }
            return(vIPConfigResult);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取电源IP配置
        /// </summary>
        /// <param name="DianYuanID"></param>
        /// <returns></returns>
        public PowerIPConfigInfo GetIPConfig(string DianYuanID)
        {
            PowerIPConfigInfo vIPConfigResult = new PowerIPConfigInfo();

            PowerNetConfigEFModel vPowerNetConfigEFModel = new PowerNetConfigEFModel()
            {
                MAC = DianYuanID
            };

            PowerNetConfigEFModel[] vSelectResult = m_BasicDBClass_Send.SelectRecordsEx(vPowerNetConfigEFModel);
            if (vSelectResult != null && vSelectResult.Length > 0)
            {
                vIPConfigResult = new PowerIPConfigInfo()
                {
                    MAC             = DianYuanID,
                    Gateway         = vSelectResult[0].Gateway,
                    IPAddress       = vSelectResult[0].IPAddress,
                    IsDHCP          = vSelectResult[0].DHCP,
                    Port            = vSelectResult[0].Port ?? 0,
                    ServerIPAddress = vSelectResult[0].ServerIPAddress,
                    ServerPort      = vSelectResult[0].ServerPort ?? 0,
                    SubMask         = vSelectResult[0].SubMask
                };
            }
            return(vIPConfigResult);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 处理收到的数据包(IP地址设置)
        /// </summary>
        /// <param name="dataPack"></param>
        void processorData_GetIPAddress(PowerDataPack_Receive_GetIPAddress dataPack)
        {
            string vMAC = NetHelper.BytesToString_MAC(new byte[] { dataPack.MAC_1, dataPack.MAC_2, dataPack.MAC_3, dataPack.MAC_4,
                                                                   dataPack.MAC_5, dataPack.MAC_6 });
            PowerNetConfigEFModel vPowerNetConfigEFModel = new PowerNetConfigEFModel()
            {
                MAC             = vMAC,
                DHCP            = dataPack.DHCP == 0x01 ? true : false,
                Gateway         = NetHelper.BytesToString_IP(new byte[] { dataPack.gateway1, dataPack.gateway2, dataPack.gateway3, dataPack.gateway4 }),
                IPAddress       = NetHelper.BytesToString_IP(new byte[] { dataPack.IPAddress1, dataPack.IPAddress2, dataPack.IPAddress3, dataPack.IPAddress4 }),
                ServerIPAddress = NetHelper.BytesToString_IP(new byte[] { dataPack.ServerIPAddress1, dataPack.ServerIPAddress2, dataPack.ServerIPAddress3, dataPack.ServerIPAddress4 }),
                SubMask         = NetHelper.BytesToString_IP(new byte[] { dataPack.SubnetMask1, dataPack.SubnetMask2, dataPack.SubnetMask3, dataPack.SubnetMask4 }),
                Port            = BitConverter.ToInt16(new byte[] { dataPack.Port2, dataPack.Port1 }, 0),
                ServerPort      = BitConverter.ToInt16(new byte[] { dataPack.ServerPort2, dataPack.ServerPort1 }, 0)
            };

            try
            {
                m_BasicDBClass_Receive.TransactionBegin();
                m_BasicDBClass_Receive.DeleteRecordCustom <PowerNetConfigEFModel>(string.Format("MAC='{0}'", vMAC));
                m_BasicDBClass_Receive.InsertRecord(vPowerNetConfigEFModel);
                PowerSendCMDEFModel vPowerSendCMDEFModel = new PowerSendCMDEFModel()
                {
                    IsReply = true,
                    State   = true
                };
                string vSql = string.Format("DianYuanID='{0}' and CMD={1:D} and SN={2}", vMAC, (byte)PowerDataPack_Send_CommandEnum.Send_GetIPAddress, dataPack.SN);
                m_BasicDBClass_Receive.UpdateRecord(vPowerSendCMDEFModel, vSql);
                m_BasicDBClass_Receive.TransactionCommit();
            }
            catch (Exception ex)
            {
                string vOutInfo = string.Format("电源获取电源IP地址错误:{0}", ex.Message);
                Console.WriteLine(vOutInfo);
                LogHelper.WriteLog_Debug(typeof(PowerControl), vOutInfo);
                m_BasicDBClass_Receive.TransactionRollback();
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 设置IP地址(命令)
        /// </summary>
        /// <param name="DianYuanID"></param>
        /// <param name="IPConfig"></param>
        /// <returns></returns>
        public async Task <bool> SendCMD_SetIP(string DianYuanID, PowerIPConfigInfo IPConfig)
        {
            byte[] vIPAddress    = NetHelper.StringToBytes_IP(IPConfig.IPAddress);
            byte[] vSubMaksArray = NetHelper.StringToBytes_IP(IPConfig.SubMask);
            byte[] vGateway      = NetHelper.StringToBytes_IP(IPConfig.Gateway);
            byte[] vMAC          = NetHelper.StringToBytes_MAC(IPConfig.MAC);
            byte[] vServerIP     = NetHelper.StringToBytes_IP(IPConfig.ServerIPAddress);


            PowerDataPack_Send_SetIPAddress vData = new PowerDataPack_Send_SetIPAddress()
            {
                IPAddress1 = vIPAddress[0],
                IPAddress2 = vIPAddress[1],
                IPAddress3 = vIPAddress[2],
                IPAddress4 = vIPAddress[3],

                SubnetMask1 = vSubMaksArray[0],
                SubnetMask2 = vSubMaksArray[1],
                SubnetMask3 = vSubMaksArray[2],
                SubnetMask4 = vSubMaksArray[3],

                Gateway1 = vGateway[0],
                Gateway2 = vGateway[1],
                Gateway3 = vGateway[2],
                Gateway4 = vGateway[3],

                MAC1 = vMAC[0],
                MAC2 = vMAC[1],
                MAC3 = vMAC[2],
                MAC4 = vMAC[3],
                MAC5 = vMAC[4],
                MAC6 = vMAC[5],

                ServerIPAddress1 = vServerIP[0],
                ServerIPAddress2 = vServerIP[1],
                ServerIPAddress3 = vServerIP[2],
                ServerIPAddress4 = vServerIP[3],

                Port1 = (byte)(IPConfig.Port >> 8),
                Port2 = (byte)(IPConfig.Port >> 0),

                ServerPort1 = (byte)(IPConfig.ServerPort >> 8),
                ServerPort2 = (byte)(IPConfig.ServerPort >> 0),

                DHCP = IPConfig.IsDHCP ? (byte)0x01 : (byte)0x00
            };
            bool vResult = await asyncSendCommandToDB(DianYuanID, PowerDataPack_Send_CommandEnum.SetIPAddress, vData);

            if (vResult)
            {
                PowerNetConfigEFModel vPowerNetConfigEFModel = new PowerNetConfigEFModel()
                {
                    DHCP            = IPConfig.IsDHCP,
                    Gateway         = IPConfig.Gateway,
                    IPAddress       = IPConfig.IPAddress,
                    MAC             = IPConfig.MAC,
                    Port            = IPConfig.Port,
                    ServerIPAddress = IPConfig.ServerIPAddress,
                    ServerPort      = IPConfig.ServerPort,
                    SubMask         = IPConfig.SubMask
                };
                string vSql = string.Format("MAC='{0}'", IPConfig.MAC);
                m_BasicDBClass_Send.TransactionBegin();
                m_BasicDBClass_Send.DeleteRecordCustom <PowerNetConfigEFModel>(vSql);
                m_BasicDBClass_Send.InsertRecord(vPowerNetConfigEFModel);
                m_BasicDBClass_Send.TransactionCommit();
            }
            return(vResult);
        }