in commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/net/HostNameUtil.java [194:226]
public static NetworkInterface getMulticastNetworkInterface() throws SocketException
{
final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements())
{
final NetworkInterface networkInterface = networkInterfaces.nextElement();
if (!networkInterface.supportsMulticast())
{
log.trace("found network interface [{0}]: no multicast support", networkInterface::getDisplayName);
continue;
}
final Enumeration<InetAddress> addressesFromNetworkInterface = networkInterface.getInetAddresses();
while (addressesFromNetworkInterface.hasMoreElements())
{
final InetAddress inetAddress = addressesFromNetworkInterface.nextElement();
log.trace("found network interface [{0}]: address: {1}, site local: {2}, any local {3}, link local {4}, loopback {5}, multicast {6}",
networkInterface::getDisplayName, inetAddress::getHostAddress, inetAddress::isSiteLocalAddress,
inetAddress::isAnyLocalAddress, inetAddress::isLinkLocalAddress, inetAddress::isLoopbackAddress,
inetAddress::isMulticastAddress);
if (inetAddress.isSiteLocalAddress()
&& !inetAddress.isAnyLocalAddress()
&& !inetAddress.isLinkLocalAddress()
&& !inetAddress.isLoopbackAddress()
&& !inetAddress.isMulticastAddress())
{
return networkInterface;
}
}
}
return null;
}