/// <summary> /// 获取信息列表 /// </summary> /// <param name="mEvent">Socket事件</param> /// <param name="mKey">请求标记</param> /// <param name="mContent">消息内容</param> /// <returns>请求结果</returns> public static CEnum.Message_Body[,] GetResult(CSocketEvent mEvent, CEnum.ServiceKey mKey, CEnum.Message_Body[] mContent) { CEnum.Message_Body[,] mReturn = null; mReturn = mEvent.RequestResult(mKey, CEnum.Msg_Category.FJ_ADMIN, mContent); return(mReturn); }
public Packet_Head(uint uiSeqID, CEnum.Msg_Category mcCategory, CEnum.ServiceKey skServiceKey, uint uiBodyLen) { this.m_uiSeqID = uiSeqID; this.m_mcCategory = mcCategory; this.m_skServiceKey = skServiceKey; this.m_dtMsgDateTime = System.DateTime.Now; this.m_uiBodyLen = uiBodyLen; this.IsValidHead = this.PutToBuffer(); }
/// <summary> /// 发送消息 /// </summary> /// <param name="eKey">事件类型</param> /// <param name="Msg_Category">消息类型</param> /// <param name="tBody">消息内容</param> /// <returns>客户端消息</returns> public CSocketData SocketSend(CEnum.ServiceKey eKey, CEnum.Msg_Category eCategory, CEnum.Message_Body[] tBody) { try { int iMsgLength = 0; //消息长度 byte[] bMsg = null; TLV_Structure[] tMsg = null; if (tBody != null) { iMsgLength = tBody.GetLength(0); tMsg = new TLV_Structure[iMsgLength]; for (int i = 0; i < iMsgLength; i++) { bMsg = TLV_Structure.ValueToByteArray(tBody[i].eTag, tBody[i].oContent); tMsg[i] = new TLV_Structure(tBody[i].eName, (uint)bMsg.GetLength(0), bMsg); } } else { string strSendMsg = "Get List"; iMsgLength = 1; tMsg = new TLV_Structure[1]; bMsg = System.Text.Encoding.Default.GetBytes(strSendMsg); tMsg[0] = new TLV_Structure(CEnum.TagName.Connect_Msg, (uint)bMsg.GetLength(0), bMsg); } Packet_Body body = new Packet_Body(tMsg, (uint)iMsgLength); Packet_Head head = new Packet_Head(SeqId_Generator.Instance().GetNewSeqID(), eCategory, eKey, body.m_uiBodyLen); CSocketData m_Return = new CSocketData(new Packet(head, body)); return(m_Return); } catch (Exception e) { CEnum.TLogData tLogData = new CEnum.TLogData(); tLogData.iSort = 5; tLogData.strDescribe = "构造Socket数据包失败!"; tLogData.strException = e.Message; throw new Exception("发送数据异常!"); } }
private bool getSeriveKey(ref CEnum.ServiceKey sk)//test(ServiceKey_FeeRequest)(temp[0] + temp[1] << 8) { if (!this.IsValidHeadBuffer()) { return(false); } byte[] temp = new byte[2]; System.Array.Copy(this.m_bHeadBuffer, 6, temp, 0, 2); try { sk = (CEnum.ServiceKey)((ushort)temp[0] + (ushort)(temp[1] << 8)); return(true); } catch (System.Exception) { sk = CEnum.ServiceKey.ERROR; return(false); } }