diff --git a/Forge Networking Remastered Unity/Assets/Bearded Man Studios Inc/Scripts/Networking/Forge/Networking/UDPClient.cs b/Forge Networking Remastered Unity/Assets/Bearded Man Studios Inc/Scripts/Networking/Forge/Networking/UDPClient.cs index bae8e4eb..8cdf5dba 100644 --- a/Forge Networking Remastered Unity/Assets/Bearded Man Studios Inc/Scripts/Networking/Forge/Networking/UDPClient.cs +++ b/Forge Networking Remastered Unity/Assets/Bearded Man Studios Inc/Scripts/Networking/Forge/Networking/UDPClient.cs @@ -22,8 +22,10 @@ using BeardedManStudios.Threading; using System; using System.Net; +using System.Net.NetworkInformation; using System.Net.Sockets; using System.Threading; +using System.Linq; namespace BeardedManStudios.Forge.Networking { @@ -122,8 +124,13 @@ public void Connect(string host, ushort port = DEFAULT_PORT, string natHost = "" { try { - Client = new CachedUdpClient(clientPort); - break; + IPEndPoint[] activeEndPoints = IPGlobalProperties.GetIPGlobalProperties().GetActiveUdpListeners(); + bool alreadyinuse = activeEndPoints.Any(p => p.Port == clientPort); + if(!alreadyinuse) + { + Client = new CachedUdpClient(clientPort); + break; + } } catch {