Java重修笔记 InetAddress 类和 Socket 类

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 类
  1. Socket 被称为套接字,在开发网络应用程序时被广泛采用,以至于成为事实上的标准

  2. 通信的两端都要有 Socket,是两台机器间通信的端点

  3. 网络通信其实就是 Socket 之间的通信

  4. Socket 允许程序把网络连接当成一个流,让数据在两个 Socket 之间通过 IO 流来传输

  5. 主动发起通信的应用程序被称为客户端,等待通信请求的为服务端

相关推荐
Mikhail_G9 分钟前
Python应用变量与数据类型
大数据·运维·开发语言·python·数据分析
BillKu10 分钟前
Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的方法
java·tomcat·mybatis
全栈凯哥11 分钟前
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
java·算法·leetcode·链表
chxii12 分钟前
12.7Swing控件6 JList
java
全栈凯哥14 分钟前
Java详解LeetCode 热题 100(27):LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)详解
java·算法·leetcode·链表
YuTaoShao14 分钟前
Java八股文——集合「List篇」
java·开发语言·list
PypYCCcccCc19 分钟前
支付系统架构图
java·网络·金融·系统架构
wind_one131 分钟前
STM32[笔记]--1.前置准备
笔记·stm32·单片机
华科云商xiao徐40 分钟前
Java HttpClient实现简单网络爬虫
java·爬虫
Bl_a_ck43 分钟前
【JS进阶】ES6 实现继承的方式
开发语言·前端·javascript