コード例 #1
0
        /// <summary>
        /// 编码客户端向服务器发送的请求消息,暂不加密,格式:total(4) + seqId(4)+ messageUniqueId(4) + body
        /// </summary>
        /// <param name="gameMessage"></param>
        public byte[] EncodeGameMessage(IGameMessage gameMessage)
        {
            int total = 12;

            byte[] body = gameMessage.EncodeBody();
            if (body != null)
            {
                total += body.Length;
            }
            ByteBuf byteBuf = new ByteBuf(total);

            byteBuf.WriteInt(total);
            byteBuf.WriteInt(gameMessage.GetMessageHeader().SeqId);
            byteBuf.WriteInt(gameMessage.GetMessageUniqueId());
            if (body != null)
            {
                byteBuf.WriteBytes(body);
            }
            return(byteBuf.ToArray());
        }