public virtual bool ProcessReceive(byte[] buffer, int offset, int count) //接收异步事件返回的数据,用于对数据进行缓存和分包 { var receiveBuffer = MAsyncSocketUserToken.ReceiveBuffer; receiveBuffer.WriteBuffer(buffer, offset, count); if (receiveBuffer.DataCount >= BasicFunc.MinPacketLength) { var packetLength = 0; if (!BasicFunc.CheckPacket(buffer, ref packetLength)) { return(true); } if (receiveBuffer.DataCount >= packetLength) //收到的数据达到包长度 { var result = ProcessPacket(receiveBuffer.Buffer, 0, packetLength); if (result) { receiveBuffer.Clear(packetLength); //从缓存中清理 } return(result); } else { return(true); } } else { return(true); } }