当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何检查IP地址是否是多宿主系统上的本地主机?》经验,为你挑选了1个好方法。



1> Kevin Brock..:

如果要查找对本地主机有效的任何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;
    }
}

使用指示端口的字符串,使用以下命令调用:

boolean isMyDesiredIp = false;
try
{
    isMyDesiredIp = isThisMyIpAddress(InetAddress.getByName("192.168.220.25")); //"localhost" for localhost
}
catch(UnknownHostException unknownHost)
{
    unknownHost.printStackTrace();
}


@AbhijeetKashnia:谢谢,但实际上它应该是`InetAddress.getByName()`,`getHostName()`是一个对象方法,而不是一个类方法,它做了一些不同的事情(它得到了IP地址的主机名,比如使用反向DNS查找).
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有