java网络编程之InetAddress
1. IP协议
IP是一种“网络协议”,通过IP地址我们可以在全球无数台计算机中区分每台计算机。
2. InetAddress类
java.net包中的InetAddress是一个与IP地址相关的类,利用该类,我们可以获得IP地址、主机地址等信息。
InetAddress类有两个子类:Inet4Address和Inet6Address,一个用于表示IPV4,另一个用于表示IPV6协议。
1. InetAddress类的常用方法如下:
返回值 | 方法 | 说明 |
InteAddress | getByName(String host) | 获取与host相对应的InetAddress对象 |
String | getHostAddress() | 获取InetAddress对象所含的IP地址 |
String | getHostName() | 获得此IP地址的主机名 |
InetAddress | getLocalHost() | 返回本地主机的InetAddress对象 |
Boolean | isReachable(int timeout) | 判断地址是否可达,同时指定超时时间 |
2. 实例如下:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddressDemo {
public staticvoidmain(String[] args){
InetAddress localIp; //本地IP
InetAddress remoteIp; //远端IP
try {
localIp=InetAddress.getLocalHost(); //获得能IP对象
remoteIp=InetAddress.getByName("blog.youkuaiyun.com");//获得优快云的IP对象
String localIPAdd=localIp.getHostAddress(); //获得本地的IP地址
String localName=localIp.getHostName(); //获得本地主机名
String remoteIPAdd=remoteIp.getHostAddress(); //获得远端IP地址
String remoteName=remoteIp.getHostName(); //获得远端主机名
System.out.println("本地的IP地址:"+localIPAdd);
System.out.println("本地主机名:"+localName);
System.out.println("远端IP地址:"+remoteIPAdd);
System.out.println("远端主机名:"+remoteName);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
结果为:
本地的IP地址:192.168.56.1
本地主机名:haha-PC
远端IP地址:218.11.0.230
远端主机名:blog.youkuaiyun.com