/// <summary> /// 处理一个完整包 /// </summary> void ManageCompleteRec(byte[] ByteBuff) { byte[] FlagByte = new byte[4]; byte[] DataByte = new byte[ByteBuff.Length - 6]; Array.Copy(ByteBuff, 2, FlagByte, 0, FlagByte.Length); Array.Copy(ByteBuff, 6, DataByte, 0, DataByte.Length); int iFlag = BitConverter.ToInt32(FlagByte, 0); iFlag = Endian.Switch(iFlag); MemoryStream ms = new MemoryStream(); ms.Write(DataByte, 0, DataByte.Length); ms.Seek(0, SeekOrigin.Begin); if (mSocketClient == null) { Debug.Log("Socket is Null " + ((MsgType)iFlag).ToString()); return; } RecPacketCls rec = new RecPacketCls(mSocketClient, ms, iFlag, ++count); lock (Game_Recv_Client.RecPacketList) { RecPacketList.Add(rec); Game_Recv_Client.RecPacketList.Add(rec); Sort(); //Debug.Log(mSocketClient.ClaName + " Receive " + ((MsgType)iFlag).ToString() + "------ByteListCount is------" + ByteList.Count.ToString()); //Debug.Log("ByteList Leave byte is : " + ByteList.Count); ManageRecMsgBefore(); } }
public void RemovePacket(RecPacketCls _rpc) { if (RecPacketList.Contains(_rpc)) { RecPacketList.Remove(_rpc); } }