InetAddress 类相关方法
1. 获取本机 InetAddress 对象:getLocalHost
public static InetAddress getLocalHost() throws UnknownHostException
返回值:本地主机的名字和地址
异常:UnknownHostException - 如果本地主机名无法解析成地址
2. 根据指定主机名/域名来获取 IP 地址对象:getByName
public static InetAddress getByName(String host) throws UnknownHostException
返回值:给定主机名的IP地址
异常:UnknownHostException - 如果没有找到 host IP地址,或者是否为全局IPv6地址指定了scope_id。
SecurityException - 如果安全管理器存在,并且其 checkConnect 方法不允许该操作
3. 根据 InetAddress 对象获取主机名:getHostName
public String getHostName()
4. 根据 InetAddress 对象获取地址:getHostAddress
public String getHostAddress()
java
public class API_ {
public static void main(String[] args) throws UnknownHostException {
// 获取本机的 InetAddress 对象
InetAddress localHost = InetAddress.getLocalHost();
System.out.println("localHost = " + localHost); // DESKTOP-L4UPSF9/192.168.1.4
// 根据指定主机名/域名来获取 IP 地址对象:getByName
InetAddress host1 = InetAddress.getByName("DESKTOP-L4UPSF9");
System.out.println("host1 = " + host1); // DESKTOP-L4UPSF9/192.168.1.4
InetAddress host2 = InetAddress.getByName("www.baidu.com");
System.out.println("host2 = " + host2); // www.baidu.com/110.242.68.4
// 根据 InetAddress 对象获取主机名 getHostName
String hostName = host2.getHostName();
System.out.println(hostName); // www.baidu.com
// 根据 InetAddress 对象获取域名 getHostAddress
String hostAddress = host2.getHostAddress();
System.out.println(hostAddress); // 110.242.68.3
}
}
Socket 类
-
Socket 被称为套接字,在开发网络应用程序时被广泛采用,以至于成为事实上的标准
-
通信的两端都要有 Socket,是两台机器间通信的端点
-
网络通信其实就是 Socket 之间的通信
-
Socket 允许程序把网络连接当成一个流,让数据在两个 Socket 之间通过 IO 流来传输
-
主动发起通信的应用程序被称为客户端,等待通信请求的为服务端