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);
            }
        }