Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查IP地址是否是多主机系统上的本地主机?_Java - Fatal编程技术网

Java 如何检查IP地址是否是多主机系统上的本地主机?

Java 如何检查IP地址是否是多主机系统上的本地主机?,java,Java,对于具有多个NIC卡的机器,Java中是否有一种方便的方法来判断给定的IP地址是否为当前机器。e、 g boolean IsThisMyIpAddress("192.168.220.25"); 如果要查找对本地主机有效的任何IP地址,则必须检查特殊的本地主机(例如127.0.0.1)地址以及分配给任何接口的地址。例如 公共静态布尔值isThisMyIpAddress(InetAddress addr){ //检查地址是否为有效的特殊本地地址或回送地址 if(addr.isAnyLocalAdd

对于具有多个NIC卡的机器,Java中是否有一种方便的方法来判断给定的IP地址是否为当前机器。e、 g

boolean IsThisMyIpAddress("192.168.220.25");

如果要查找对本地主机有效的任何IP地址,则必须检查特殊的本地主机(例如127.0.0.1)地址以及分配给任何接口的地址。例如

公共静态布尔值isThisMyIpAddress(InetAddress addr){
//检查地址是否为有效的特殊本地地址或回送地址
if(addr.isAnyLocalAddress()| | addr.isLoopbackAddress())
返回true;
//检查地址是否在任何接口上定义
试一试{
返回NetworkInterface.getByInetAddress(addr)!=null;
}捕获(SocketException e){
返回false;
}
}
使用指示端口的字符串调用此函数:

boolean isMyDesiredIp=false;
尝试
{
isMyDesiredIp=isThisMyIpAddress(InetAddress.getByName(“192.168.220.25”);/“localhost”表示本地主机
}
捕获(UnknownHostException unknownHost)
{
unknownHost.printStackTrace();
}

应该是InetAddress.getHostName(“ip来了”)。。。getbyHostName不存在。@AbhijeetKashnia:谢谢,但实际上它应该是
InetAddress。getByName()
getHostName()
是一个对象方法,而不是类方法,它做了一些不同的事情(它获取IP地址的主机名,例如使用反向DNS查找)。