Как проверить, является ли IP-адрес локальным хостом в многоуровневой системе?
Для машины с несколькими NIC-картами есть удобный метод в Java, который сообщает, является ли данный IP-адрес текущим компьютером или нет. например.
boolean IsThisMyIpAddress("192.168.220.25");
Ответ 1
Если вы ищете любой IP-адрес, действительный для локального хоста, вы должны проверить адреса локального хоста (например, 127.0.0.1), а также те, которые назначены для любых интерфейсов. Например...
public static boolean isThisMyIpAddress(InetAddress addr) {
// Check if the address is a valid special local or loop back
if (addr.isAnyLocalAddress() || addr.isLoopbackAddress())
return true;
// Check if the address is defined on any interface
try {
return NetworkInterface.getByInetAddress(addr) != null;
} catch (SocketException e) {
return false;
}
}
С строкой, указывающей порт, вызовите это с помощью: