Java中的InetAddress,包为java.net.InetAddress

2023年10月24日 553点热度 0人点赞 0条评论

在Java中,`InetAddress`是一个用于表示IP地址的类,它位于`java.net`包中。`InetAddress`类提供了一些方法来操作和获取IP地址的信息。

`InetAddress`类有两个子类:`Inet4Address`和`Inet6Address`,分别用于表示IPv4地址和IPv6地址。
`InetAddress`类的常用方法包括:

- `getByName(String host)`:通过主机名或IP地址字符串获取`InetAddress`对象。
- `getHostAddress()`:获取IP地址的字符串表示。
- `getHostName()`:获取主机名。
- `isReachable(int timeout)`:检测主机是否可达。
- `isLoopbackAddress()`:判断是否为回环地址。
- `isMulticastAddress()`:判断是否为多播地址。
- `getCanonicalHostName()`:获取主机的规范名。

使用`InetAddress`类可以进行一些网络编程的操作,比如获取本机的IP地址、判断主机是否可达、解析域名等。

下面是一个使用`InetAddress`类的示例代码:

import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetAddressExample {
    public static void main(String[] args) {
        try {
            // 获取本机的InetAddress对象
            InetAddress localHost = InetAddress.getLocalHost();
            System.out.println("本机IP地址:" + localHost.getHostAddress());
            System.out.println("本机主机名:" + localHost.getHostName());

            // 通过主机名获取InetAddress对象
            InetAddress google = InetAddress.getByName("www.google.com");
            System.out.println("Google IP地址:" + google.getHostAddress());
            System.out.println("Google 主机名:" + google.getHostName());

            // 判断主机是否可达
            boolean isReachable = google.isReachable(5000);
            System.out.println("Google 是否可达:" + isReachable);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

结果:
本机IP地址:192.168.1.102
本机主机名:master.local
Google IP地址:108.160.170.41
Google 主机名:www.google.com
Google 是否可达:false

以上代码演示了如何获取本机的IP地址和主机名,以及通过主机名获取远程主机的IP地址和主机名,并判断远程主机是否可达。

小小调酒师

此刻打盹,你将做梦; 此刻学习,你将圆梦。 个人邮箱:shellways@foxmail.com

文章评论