📜  Java中的 InetAddress 类(1)

📅  最后修改于: 2023-12-03 15:01:53.533000             🧑  作者: Mango

Java中的 InetAddress 类介绍

Java中的 InetAddress 类是用于处理 IP 地址的类,其主要功能是将域名解析为 IP 地址,或将 IP 地址解析为域名。

获取 InetAddress 对象

我们可以使用静态方法来获取 InetAddress 对象,例如:

InetAddress address = InetAddress.getByName("www.example.com");

该方法会将 "www.example.com" 解析为一个 IP 地址,并返回一个 InetAddress 对象。

如果我们想要获取本地主机的 IP 地址和域名,可以使用以下方法:

InetAddress address = InetAddress.getLocalHost();

该方法会返回本地主机的 InetAddress 对象,其中包含了其 IP 地址和主机名。

InetAddress 对象的常用方法
获取 IP 地址和域名

可以使用以下方法获取 InetAddress 对象中的 IP 地址和域名:

String ip = address.getHostAddress();
String hostname = address.getHostName();
判断是否可以连接

我们可以使用以下方法判断 InetAddress 对象所表示的主机是否可以连接:

if (address.isReachable(timeout)) {
    // 可以连接
} else {
    // 无法连接
}

其中 timeout 表示连接超时时间。

判断是否为回环地址

我们可以使用以下方法判断 InetAddress 对象所表示的主机是否为回环地址:

if (address.isLoopbackAddress()) {
    // 是回环地址
} else {
    // 不是回环地址
}
判断是否为多播地址

我们可以使用以下方法判断 InetAddress 对象所表示的主机是否为多播地址:

if (address.isMulticastAddress()) {
    // 是多播地址
} else {
    // 不是多播地址
}
获取本地主机中所有的网络接口

我们可以使用以下方法获取本地主机中所有的网络接口:

Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
    NetworkInterface i = interfaces.nextElement();
    System.out.println(i.getName());
}
总结

InetAddress 类是用于处理 IP 地址的类,可以将域名解析为 IP 地址,或将 IP 地址解析为域名,并提供了一些常用的方法用于判断地址类型、连接状态等。