/// <summary> /// /// </summary> public void AddRespondMsg(RespondObj resObj) { lock (mRespondLocker) { mResponds.Enqueue(resObj); } }
// 子线程调用 public void ParseAndAddMsg(long lSessionId) { lock (mSendLocker) { BinaryStream bs = new BinaryStream(); bs.DeconstructMessage(); int nMsgCount = mSendMsgs.Count; bs.Write(nMsgCount); for (int i = 0; i < nMsgCount; ++i) { Message msg = mSendMsgs.Dequeue(); msg.DeconstructObj(); bs.Write(msg.GetWriteBuffer()); } RespondObj resObj = new RespondObj(); resObj.SessionId = lSessionId; resObj.RespondString = Convert.ToBase64String(bs.GetWriteBuffer()); // 加入到待发送列表即可 MsgHandler.GetIns().AddRespondMsg(resObj); } }