Exemplo n.º 1
0
        private bool HandleData(byte[] data)
        {
            int packetLen = 0;

            ReceivePacket.SetBytes(data);

            if (ExitHandleData(ref packetLen))
            {
                return(true);
            }

            while (packetLen > 0 && packetLen <= ReceivePacket.UnreadLength())
            {
                byte[] bytes = ReceivePacket.ReadBytes(packetLen);
                ThreadManager.ExecuteOnMainThread(() =>
                {
                    Packet packet = new Packet(bytes);
                    int packetID  = packet.ReadInt();
                    PacketHandlerDictionary[packetID](packet);
                });
                packetLen = 0;

                if (ExitHandleData(ref packetLen))
                {
                    return(true);
                }
            }
            if (packetLen < 2)
            {
                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        private void HandleData(byte[] data)
        {
            Packet packetInit = new Packet(data);
            int    packetLen  = packetInit.ReadInt();

            data = packetInit.ReadBytes(packetLen);

            ThreadManager.ExecuteOnMainThread(() =>
            {
                Packet packet = new Packet(data);
                int packetID  = packet.ReadInt();
                PacketHandlerDictionary[packetID](packet);
            });
        }
Exemplo n.º 3
0
        private bool HandleData(byte[] data)
        {
            byte packetLen = 0;

            ReceivePacket.SetBytes(data);

            if (ExitHandleData(ref packetLen))
            {
                return(true);
            }

            while (packetLen > 0 && packetLen <= ReceivePacket.UnreadLength())
            {
                byte[] bytes = ReceivePacket.ReadBytes(packetLen);
                ThreadManager.ExecuteOnMainThread(() =>
                {
                    byte packetID = byte.MaxValue;
                    try
                    {
                        using (Packet packet = new Packet(bytes))
                        {
                            packetID = packet.ReadByte();
                            PacketHandlerDictionary[packetID](packet);
                        }
                    }
                    catch (KeyNotFoundException exception)
                    {
                        Output.WriteLine($"Error in Handle data of TCP Packet {packetID} ...\n{exception}");
                    }
                    catch (Exception exception)
                    {
                        Output.WriteLine($"Error in Handle data of not know TCP Packet...\n{exception}");
                    }
                });
                packetLen = 0;

                if (ExitHandleData(ref packetLen))
                {
                    return(true);
                }
            }
            if (packetLen < 2)
            {
                return(true);
            }

            return(false);
        }
Exemplo n.º 4
0
        private void HandleData(byte[] data)
        {
            using (Packet packetInit = new Packet(data))
            {
                byte packetLen = packetInit.ReadPacketLen();
                data = packetInit.ReadBytes(packetLen);
            }

            ThreadManager.ExecuteOnMainThread(() =>
            {
                using (Packet packet = new Packet(data))
                {
                    byte packetID = packet.ReadByte();
                    PacketHandlerDictionary[packetID](packet);
                }
            });
        }
Exemplo n.º 5
0
 protected override void InitPacketHandlerDictionary()
 {
     PacketHandlerDictionary.Add((byte)InternetDiscoveryServerPackets.welcome, ServerMenu.ReadWelcomePacket);
     PacketHandlerDictionary.Add((byte)InternetDiscoveryServerPackets.serverData, ServerMenu.ReadServerDataPacket);
     PacketHandlerDictionary.Add((byte)InternetDiscoveryServerPackets.serverDeleted, ServerMenu.ReadServerDeletedPacket);
     PacketHandlerDictionary.Add((byte)InternetDiscoveryServerPackets.serverModified, ServerMenu.ReadServerModifiedPacket);
     PacketHandlerDictionary.Add((byte)InternetDiscoveryServerPackets.cantJoinServerDeleted, ServerMenu.ReadCantJoinServerDeleted);
     PacketHandlerDictionary.Add((byte)InternetDiscoveryServerPackets.noMoreServersAvailable, ServerMenu.ReadNoMoreServersAvailable);
     PacketHandlerDictionary.Add((byte)InternetDiscoveryServerPackets.joinServer, ServerMenu.ReadJoinServer);
 }
Exemplo n.º 6
0
        private bool HandleData(byte[] data)
        {
            byte packetLen = 0;

            ReceivePacket.SetBytes(data);

            if (ExitHandleData(ref packetLen))
            {
                return(true);
            }

            while (packetLen > 0 && packetLen <= ReceivePacket.UnreadLength())
            {
                byte[] bytes = ReceivePacket.ReadBytes(packetLen);
                ThreadManager.ExecuteOnMainThread(() =>
                {
                    using (Packet packet = new Packet(bytes))
                    {
                        byte packetId     = packet.ReadByte();
                        string serverName = packet.ReadString();
                        PacketHandlerDictionary[packetId](serverName, packet);
                    }
                });
                packetLen = 0;

                if (ExitHandleData(ref packetLen))
                {
                    return(true);
                }
            }
            if (packetLen < 2)
            {
                return(true);
            }

            return(false);
        }
Exemplo n.º 7
0
 protected override void InitPacketHandlerDictionary()
 {
     PacketHandlerDictionary.Add((int)LANDiscoveryServerPackets.serverData, ServerMenu.ReadServerDataPacket);
 }