Exemplo n.º 1
0
        static void th11s_Server_NewRequestReceived(TH11SProtocolSession session, SuperSocket.SocketBase.Protocol.BinaryRequestInfo requestInfo)
        {
            //string remoteEndPoint = session.RemoteEndPoint.Address + ":" + session.RemoteEndPoint.Port.ToString();
            string terminalType = DeviceCode.TH11S;
            string DeviceSN     = "";

            //处理设备的登陆信息
            handleDeviceInfo(terminalType, requestInfo.Key.Substring(0, 2), session.RemoteEndPoint.Address.ToString(), session.RemoteEndPoint.Port.ToString(), out DeviceSN);

            //获取原始监控数据
            InspectOriginalData oData = new TH11SDataResolver().CreateOriginalData(DeviceSN, requestInfo);

            //解析监控数据
            List <InspectItemData> itemDatas = new TH11SDataResolver().ResolveItemData(oData);

            ///保存监测数据
            saveData(oData, itemDatas);

            ///打印采集信息
            printData(session.SessionID, session.RemoteEndPoint.Address.ToString(), session.RemoteEndPoint.Port.ToString(), oData, itemDatas);

            ////更新当前连接信息到静态变量中,用于定时清理垃圾session
            //CommonSession cs = ThJob.getTh11s(session.SessionID);
            //if (cs != null)
            //{
            //    cs.session = session;
            //    ThJob.updateTh11s(session.SessionID, cs);
            //}
        }
Exemplo n.º 2
0
        public InspectOriginalData CreateOriginalData(string DeviceSN, SuperSocket.SocketBase.Protocol.BinaryRequestInfo requestInfo)
        {
            InspectOriginalData data = new InspectOriginalData();

            data.InspectTime = CommonDateConvert.ConvertGMTToUTC(DateTime.Now);
            data.InspectData = requestInfo.Key + Tools.BytesToHexStr(requestInfo.Body, requestInfo.Body.Length);
            data.DeviceSN    = DeviceSN;

            return(data);
        }
Exemplo n.º 3
0
        static void appServer_NewRequestReceived(MySession session, SuperSocket.SocketBase.Protocol.BinaryRequestInfo requestInfo)
        {
            string key = requestInfo.Key;

            switch (key)
            {
            case "1":
                Console.WriteLine("Get message from " + session.RemoteEndPoint.ToString() + ":" + System.Text.Encoding.UTF8.GetString(requestInfo.Body));
                break;

            case "2":
                Console.WriteLine("Get image");
                break;

            default:
                Console.WriteLine("Get unknown message.");
                break;
            }
        }
Exemplo n.º 4
0
        static void aclwcar_Server_NewRequestReceived(ACLWCARProtocolSession session, SuperSocket.SocketBase.Protocol.BinaryRequestInfo requestInfo)
        {
            //string remoteEndPoint = session.RemoteEndPoint.Address + ":" + session.RemoteEndPoint.Port.ToString();
            string terminalType = DeviceCode.LW;
            string DeviceSN     = "";

            //处理设备的登陆信息
            handleDeviceInfo(terminalType, requestInfo.Key.Substring(0, 2), session.RemoteEndPoint.Address.ToString(), session.RemoteEndPoint.Port.ToString(), out DeviceSN);

            //获取原始监控数据
            InspectOriginalData oData = new ACLWCARDataResolver().CreateOriginalData(DeviceSN, requestInfo);

            if ("wipe,0,".Equals(Tools.HexStringToString(oData.InspectData.Substring(2), Encoding.UTF8)))
            {
                string sr = "11117076616C2C0D";
                session.Send(sr);

                ///打印采集信息
                printData(session.SessionID, session.RemoteEndPoint.Address.ToString(), session.RemoteEndPoint.Port.ToString(), oData, null);

                Console.WriteLine("SendResponse:" + sr);
                return;
            }
            else
            {
                //解析监控数据
                List <InspectItemData> itemDatas = new ACLWCARDataResolver().ResolveItemData(oData);

                ///保存监测数据
                saveData(oData, itemDatas);

                //返回状态为0时修改集合中的状态,设置设备状态为复位
                if ("0".Equals(itemDatas[itemDatas.Count() - 1].InspectData))
                {
                    ThJob.setLwIsWorking(session.SessionID, false);
                }

                ///打印采集信息
                printData(session.SessionID, session.RemoteEndPoint.Address.ToString(), session.RemoteEndPoint.Port.ToString(), oData, itemDatas);
            }

            ////更新当前连接信息到静态变量中,用于定时清理垃圾session
            //CommonSession cs = ThJob.getLw(session.SessionID);
            //if (cs != null)
            //{
            //    cs.session = session;
            //    ThJob.updateLw(session.SessionID, cs);
            //}
        }