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); //} }
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); }
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; } }
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); //} }