java.net.InetAddress类是Java对IP地址(包括IPv4和IPv6)的高层表示,它包括一个主机名和一个IP地址。
创建InetAddress对象
InetAddress类没有公共构造函数,而是提供了一些静态工厂方法,可以连接到DNS服务器来解析主机名。
1.例如getByName(String host)方法:
InetAddress address = InetAddress.getByName("www.baidu.com");
如果DNS服务器找不到这个主机名,以上方法会抛出一个UnknownHostException,这是IOException的一个子类。
如果host参数是一个IP地址,则不会与DNS服务器交互,所创建InetAddress对象的主机名为null,只有显式地通过getHostName()才会完成主机名的DNS查找。
2.有时一个域名会映射到多个IP地址,如果要得到一个主机或域名的所有地址,可以调用getAllByName(String host)方法:
InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");
3.getLocalHost()方法会为运行这个代码的主机返回一个InetAddress对象:
InetAddress me = InetAddress.getLocalHost();
这个方法尝试连接DNS服务器来获