private static async void ConnectingUDP() { try { UdpReceiveResult result = await serverUDP.ReceiveAsync(); if (result.Buffer.Length > 0) { using Packet packet = new Packet(result.Buffer); int clientId = packet.ReadInt(); packet.RemoveInt(); if (clientId > -1) { UDP clientUDP = clients[clientId].udp; if (clientUDP.endPoint == null) { if (clients[clientId].Authorized) { clientUDP.Connect(result.RemoteEndPoint); } else { return; } } if (clientUDP.endPoint.ToString() == result.RemoteEndPoint.ToString()) { clientUDP.HandlePacket(packet); } } } ConnectingUDP(); } catch (Exception e) { Logger($"[UDPServer]Error accept client: {e.Message}."); } }