public GeologyMsg(int workFaceId, int tunnelID, string tableName, DateTime dt, COMMAND_ID commandId) : base(COMMAND_ID.RESET_TUNNEL_RULES, dt) { this._workFaceID = workFaceId; this._tunnelID = tunnelID; this._tableName = tableName; this._operationType = OPERATION_TYPE.UPDATE; this._commandId = commandId; }
public GeologyMsg(int workFaceId, int tunnelID, string tableName, DateTime dt, COMMAND_ID commandId) : base(COMMAND_ID.RESET_TUNNEL_RULES, dt) { this._workFaceID = workFaceId; this._tunnelID = tunnelID; this._tableName = tableName; this._operationType = OPERATION_TYPE.UPDATE; this._commandId = commandId; }
/// <summary> /// 构造方法 /// </summary> /// <param name="cmdId">Socket命令ID</param> /// <param name="dt">日期时间</param> public SocketMessage(COMMAND_ID cmdId, DateTime dt) { _commandId = cmdId; _dTime = dt.ToString(ConstSocketStr.DATE_FORMART_YYYY_MM_DD); }
/// <summary> /// 处理来自服务端的数据 /// </summary> /// <returns></returns> public void HandleReceivedData() { byte[] recvData = new byte[ClientSocket.MAX_RECV_LEN]; while (true) { try { if (_socketHandler.Connected == false) { StartReconnectThread(); return; } if (_socketHandler.Poll(-1, SelectMode.SelectRead)) { int recvDataLen = _socketHandler.Receive(recvData); string strDatas = System.Text.Encoding.Default.GetString(recvData, 0, recvDataLen); //_log.Log("Received data: " + strDatas + " Length: " + recvDataLen.ToString()); if (strDatas == null || strDatas == "") { continue; } //通过Json先获取命令ID,然后根据不同ID将其转换为相应的实体类型 JObject jo = (JObject)JsonConvert.DeserializeObject(strDatas); COMMAND_ID cmdId = COMMAND_ID.UNDEFINED; if (jo[ConstSocketStr.COMMADN_ID] != null) { if (!Enum.TryParse <COMMAND_ID>(jo[ConstSocketStr.COMMADN_ID].ToString(), out cmdId)) { Log.Error("无法解析Socket命令-->" + strDatas); continue; } } else { Log.Debug("无法解析Socket命令-->" + strDatas); continue; } //更新预警结果 if (cmdId == COMMAND_ID.NTFY_WARNING_RESULT || cmdId == COMMAND_ID.WARNING_RESULT_SINGLE) { #region //test //_log.Log("COMMAND 'NTFY_WARNING_RESULT ' RECEIVED!"); //UpdateWarningDataMsg warningResult = (UpdateWarningDataMsg)JsonConvert.DeserializeObject<UpdateWarningDataMsg>(strDatas); //_log.Log("tunnelID: " + warningResult.TunnelId + // ", commandID: " + warningResult.CommandId.ToString() + // ", DateTime: " + warningResult.DTime); #endregion UpdateWarningResultMessage resultMsg = JsonParser.Convert2WarningResultMsg(strDatas); //调用处理事件 OnMsgUpdateWarningResult(resultMsg); } else { Log.Debug("未处理命令:" + cmdId.ToString() + " --> " + strDatas); //未定义命令类型 if (cmdId == COMMAND_ID.UNDEFINED) { } //同步时间 if (cmdId == COMMAND_ID.SYNC_DATETIME) { } //心跳检测 if (cmdId == COMMAND_ID.KEEP_ALIVE) { } } } } catch (System.Exception ex) { Log.Error("Error in Function HandleReceivedData: " + ex.Message); } } }
/// <summary> /// 构造方法 /// </summary> /// <param name="cmdId">Socket命令ID</param> /// <param name="dt">日期时间</param> public SocketMessage(COMMAND_ID cmdId, DateTime dt) { _commandId = cmdId; _dTime = dt.ToString(ConstSocketStr.DATE_FORMART_YYYY_MM_DD); }