一.Inetaddress: 封装IP及DNS
没有构造器方法
* static InetAddress getLocalHost() 返回本地主机
* static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址
* String getHostAddress() 返回 IP 地址字符串(以文本表现形式)
* String getHostName() 获取此 IP 地址的主机名
package com.kennosaur.net.ip;
/*
* static InetAddress getLocalHost() 返回本地主机
* static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址
* String getHostAddress() 返回 IP 地址字符串(以文本表现形式)
* String getHostName() 获取此 IP 地址的主机名
*/
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Inet01 {
public static void main(String[] args) throws UnknownHostException {
//使用getLocalHost()方法创建InetAddress对象
InetAddress addr = InetAddress.getLocalHost();
System.out.println(addr.getHostAddress()); //返回: 192.168.1.131
System.out.println(addr.getHostName()); //输出计算机名
//根据域名得到InetAddress对象
addr = InetAddress.getByName("www.163.com");
System.out.println(addr.getHostAddress()); //返回163服务器的ip:106.120.178.41
System.out.println(addr.getHostName()); //www.163.com
//根据ip得到InetAddress对象
addr = InetAddress.getByName("106.120.178.41");
System.out.println(addr.getHostAddress()); //返回163服务器的ip:106.120.178.41
System.out.println(addr.getHostName()); //106.120.178.41 ---dns不解析或ip地址不存在
}
}
二.InetSocketAddress: 封装端口
* 1.创建对象
* InetSocketAddress(String hostname, int port) 根据主机名和端口号创建套接字地址
* InetSocketAddress(InetAddress addr, int port) 根据 IP 地址和端口号创建套接字地址
* 2.方法
* InetAddress getAddress() 获取 InetAddress
* String getHostName() 获取 hostname
* int getPort() 获取端口号
package com.kennosaur.net.ip;
import java.net.InetAddress;
import java.net.InetSocketAddress;
/**
* 封装端口: 在InetAdress基础上+端口
* 1.创建对象
* InetSocketAddress(String hostname, int port) 根据主机名和端口号创建套接字地址
* InetSocketAddress(InetAddress addr, int port) 根据 IP 地址和端口号创建套接字地址
* 2.方法
* InetAddress getAddress() 获取 InetAddress
* String getHostName() 获取 hostname
* int getPort() 获取端口号
* @author Administrator
*
*/
public class InetSocket01 {
public static void main(String[] args) {
InetSocketAddress address = new InetSocketAddress("127.0.0.1", 9999);
System.out.println(address.getHostName());
System.out.println(address.getPort());
InetAddress addr = address.getAddress();
System.out.println(addr.getHostAddress()); //返回: 127.0.0.1
System.out.println(addr.getHostName()); //127.0.0.1
}
}