public void PopulateNodes() { foreach (UdpNode node in UdpNodeManager.GetServers()) { this.nodes.Enqueue(node.EndPoint); } }
public static void Update() { UdpNode[] nodes = UdpNodeManager.GetServers(); if (nodes.Length > 0) { Thread thread = new Thread(new ParameterizedThreadStart(BackgroundWorker)); thread.Start(nodes); } }
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)); }
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)); }
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)); }