示例#1
0
        public static ProtocolHead Deserialize(NetBuffer buffer)
        {
            ProtocolHead head = new ProtocolHead();

            head.pid      = buffer.ReadUInt();
            head.index    = buffer.ReadUInt();
            head.dataSize = buffer.ReadInt();
            head.checksum = buffer.ReadUShort();
            return(head);
        }
示例#2
0
        public ProtocolHead Deserialize(NetBuffer buffer)
        {
            ProtocolHead head = this;

            head.uid      = buffer.ReadUInt();
            head.cmd      = buffer.ReadUInt();
            head.index    = buffer.ReadUInt();
            head.dataSize = buffer.ReadUShort();
            head.checksum = buffer.ReadUShort();
            return(head);
        }
        public int GetPacketLen(byte[] data, int index, int len)
        {
            if (len < 4)
            {
                return(0);
            }

            int packetLen = ProtocolHead.ToInt32(data, index);

            return(packetLen + 4);
        }
示例#4
0
        public void Send <TMsg>(ProtocolHead head, uint cmd, TMsg msg)
        {
            Debuger.LogVerbose("cmd:{0}", cmd);

            NetMessage msgobj = new NetMessage();

            msgobj.head          = head;
            msgobj.head.cmd      = cmd;
            msgobj.head.token    = m_token;
            msgobj.content       = PBSerializer.NSerialize(msg);
            msgobj.head.dataSize = (uint)msgobj.content.Length;

            m_conn.Send(msgobj);
        }
示例#5
0
        public void Send <TMsg>(ISession session, ProtocolHead head, uint cmd, TMsg msg)
        {
            Debuger.LogVerbose("index:{0}, cmd:{1}", head.index, cmd);

            NetMessage msgobj = new NetMessage();

            msgobj.head          = head;
            msgobj.head.cmd      = cmd;
            msgobj.head.token    = session.AuthToken;
            msgobj.content       = PBSerializer.NSerialize(msg);
            msgobj.head.dataSize = (uint)msgobj.content.Length;

            session.Send(msgobj);
        }