public void PopulateNodes()
 {
     foreach (UdpNode node in UdpNodeManager.GetServers())
     {
         this.nodes.Enqueue(node.EndPoint);
     }
 }
Ejemplo n.º 2
0
        public static void Update()
        {
            UdpNode[] nodes = UdpNodeManager.GetServers();

            if (nodes.Length > 0)
            {
                Thread thread = new Thread(new ParameterizedThreadStart(BackgroundWorker));
                thread.Start(nodes);
            }
        }
Ejemplo n.º 3
0
        public static byte[] AckIps(IPAddress target_ip, ulong time)
        {
            UdpPacketWriter packet = new UdpPacketWriter();

            packet.WriteUInt16(Settings.Port);

            UdpNode[] servers = UdpNodeManager.GetServers(target_ip, 6, time);

            foreach (UdpNode s in servers)
            {
                packet.WriteIP(s.IP);
                packet.WriteUInt16(s.Port);
            }

            return(packet.ToAresPacket(UdpMsg.OP_SERVERLIST_ACKIPS));
        }
Ejemplo n.º 4
0
        public static byte[] CheckFirewallBusy(IPAddress target_ip, ulong time)
        {
            UdpPacketWriter packet = new UdpPacketWriter();

            packet.WriteUInt16(Settings.Port);

            UdpNode[] servers = UdpNodeManager.GetServers(target_ip, 6, time);

            foreach (UdpNode s in servers)
            {
                packet.WriteIP(s.IP);
                packet.WriteUInt16(s.Port);
            }

            return(packet.ToAresPacket(UdpMsg.OP_SERVERLIST_CHECKFIREWALLBUSY));
        }
Ejemplo n.º 5
0
        public static byte[] AckInfo(ulong time)
        {
            UdpPacketWriter packet = new UdpPacketWriter();

            packet.WriteUInt16(Settings.Port);
            packet.WriteUInt16(UserPool.UserCount);
            packet.WriteString(Settings.Name);
            packet.WriteString(Settings.Topic);
            packet.WriteByte(Settings.Language);
            packet.WriteString(Settings.VERSION);
            UdpNode[] servers = UdpNodeManager.GetServers(6, time);
            packet.WriteByte((byte)servers.Length);

            foreach (UdpNode s in servers)
            {
                packet.WriteIP(s.IP);
                packet.WriteUInt16(s.Port);
            }

            return(packet.ToAresPacket(UdpMsg.OP_SERVERLIST_ACKINFO));
        }