diff --git a/forge-gui/src/main/java/forge/net/server/FServerManager.java b/forge-gui/src/main/java/forge/net/server/FServerManager.java index 0f02d82d258..f527276d2d5 100644 --- a/forge-gui/src/main/java/forge/net/server/FServerManager.java +++ b/forge-gui/src/main/java/forge/net/server/FServerManager.java @@ -221,22 +221,25 @@ public final class FServerManager { DatagramSocket s = new DatagramSocket(); s.connect(InetAddress.getByAddress(this.externalAddress), 0); NetworkInterface n = NetworkInterface.getByInetAddress(s.getLocalAddress()); - Enumeration en = n.getInetAddresses(); + Enumeration en = n.getInetAddresses(); while (en.hasMoreElements()) { InetAddress addr = (InetAddress) en.nextElement(); if (addr instanceof Inet4Address) { if (preferIPv6) { continue; } + s.close(); return addr.getHostAddress(); } if (addr instanceof Inet6Address) { if (preferIpv4) { continue; } + s.close(); return addr.getHostAddress(); } } + s.close(); return null; }