Exemple #1
0
        public void OutPacket(WorldPack pack)
        {
            if (!connected())
            {
                return;
            }
            UInt16     size = (UInt16)(pack.size() + C2S_PACK_HEAD_SIZE);
            ByteBuffer data = new ByteBuffer(size);

            data.W((UInt16)(pack.size() + 4));
            data.W((UInt32)pack.opcode());
            data.W(pack);
            _tcpClient.Client.Send(data.contents());
        }
Exemple #2
0
        bool DoGcPackHead(ByteBuffer data, WorldPack pack, byte flag, bool bSys, bool bComp, bool bEncode)
        {
            byte head = flag;

            if (bSys)
            {
                head = SetHeadFlag(head, HeadFlagDef.FLAG_SYSTEM, true);
            }
            if (bComp)
            {
                head = SetHeadFlag(head, HeadFlagDef.FLAG_COMPRESS, true);
            }
            if (bEncode)
            {
                head = SetHeadFlag(head, HeadFlagDef.FLAG_ENCRYPT, true);
            }
            UInt16 size = (UInt16)pack.size();
            UInt16 seq  = 0;

            data.W(head);
            data.W(size);
            data.W(seq);

            return(true);
        }
Exemple #3
0
        public void gcOutPacket(WorldPack pack, bool bSys)
        {
            //head1,size2,seq2,content
            UInt16     size = (UInt16)(pack.size() + GC_NET_HEAD_LENGTH);
            ByteBuffer data = new ByteBuffer((ushort)size);

            DoGcPackHead(data, pack, (byte)HeadFlagDef.HeadFlagPro, bSys, false, false);
            data.W(pack);
            _tcpClient.Client.Send(data.contents());
        }