Exemple #1
0
        public SendPacket CreatePacket()
        {
            ShortPlainPacketHeader head = new ShortPlainPacketHeader
            {
                Type     = Type.ShortPlain,
                HeadCode = HeadCodeSc.Welcome,
                Size     = 4
            };

            ScWelcomePacket packet = new ScWelcomePacket {
                Head = head, Result = 1
            };

            return(new SendPacket {
                Size = packet.Head.Size, Packet = packet.GetBytes()
            });
        }
Exemple #2
0
        public SendPacket CreatePacket()
        {
            ShortPlainPacketHeader head = new ShortPlainPacketHeader
            {
                Type     = Type.ShortPlain,
                HeadCode = HeadCodeSc.ConnectServerData,
                Size     = (byte)Marshal.SizeOf(typeof(ScServerDataPacket))
            };

            ServerObject chosenServer = null;

            foreach (ServerObject server in server.Servers)
            {
                if (server.ServerCode == this.packet.ServerCode)
                {
                    chosenServer = server;
                }
            }

            if (chosenServer == null)
            {
                throw new Exception("Ask for non exist server!");
            }

            ScServerDataPacket packet = new ScServerDataPacket()
            {
                Head    = head,
                SubCode = HeadSubCodeSc.ServerData,
                Port    = (ushort)chosenServer.Port,
            };

            packet.IP = Program.ConvertStringToBytes(chosenServer.IP, 16);

            return(new SendPacket {
                Size = packet.Head.Size, Packet = packet.GetBytes()
            });
        }