Skip to content

Commit 58255d8

Browse files
PotatoPeeler3000nkitchel
andauthored
Fixed exception by adding check to make sure the elements exist` (#19)
Co-authored-by: nkitchel <[email protected]>
1 parent 7632f91 commit 58255d8

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/main/java/us/ihmc/robotDataLogger/util/SocketUtils.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.net.DatagramSocket;
55
import java.net.InetAddress;
66
import java.net.NetworkInterface;
7+
import java.util.Enumeration;
78

89
public final class SocketUtils
910
{
@@ -18,16 +19,19 @@ public static boolean isUDPPortInUse(NetworkInterface networkInterface, int port
1819
{
1920
try
2021
{
21-
InetAddress address = networkInterface.getInetAddresses().nextElement();
22-
while (address.isLoopbackAddress() && networkInterface.getInetAddresses().hasMoreElements())
22+
Enumeration<InetAddress> address = networkInterface.getInetAddresses();
23+
24+
while(address.hasMoreElements())
2325
{
24-
address = networkInterface.getInetAddresses().nextElement();
26+
InetAddress inetAddress = address.nextElement();
27+
if (!inetAddress.isLoopbackAddress())
28+
{
29+
DatagramSocket socket = new DatagramSocket(port, inetAddress);
30+
socket.close();
31+
socket.disconnect();
32+
return false;
33+
}
2534
}
26-
27-
DatagramSocket socket = new DatagramSocket(port, address);
28-
socket.close();
29-
socket.disconnect();
30-
return false;
3135
}
3236
catch (BindException e)
3337
{
@@ -38,5 +42,7 @@ public static boolean isUDPPortInUse(NetworkInterface networkInterface, int port
3842
e.printStackTrace();
3943
return true; // Other errors
4044
}
45+
46+
return true; // Other errors
4147
}
4248
}

0 commit comments

Comments
 (0)