Exemplo n.º 1
0
        private bool DoReceive()
        {
            NetBuffer buffer = ReceiveBuffer();

            if (buffer == null)
            {
                return(false);
            }


            //判断数据是否FSP协议
            //获取Seq和Ack,在FSP协议中,Seq和Ack不为0
            buffer.Position = 0;
            ushort seq = buffer.ReadUShort(); //第1个字段必然是Decode的SEQ
            ushort ack = buffer.ReadUShort(); //第2个字段必然是Decode的ACK

            if (seq == 0 && ack == 0)
            {
                //如果为0,则不是FSP协议
                HandleCustomMessage(buffer);
            }
            else
            {
                //接收FSP数据
                m_FSPCodec.WriteToRecvQueue(buffer);
            }
            return(true);
        }