求解SocketAddress和InetAddress的区别以及各自在什么情况下用,能通用吗?

2025-04-09 05:15:58
推荐回答(1个)
回答1:

前者是表示不带任何协议附件的 Socket Address。作为一个抽象类,应通过特定的、协议相关的实现为其创建子类。
它提供不可变对象,供套接字用于绑定、连接或用作返回值。

后者是表示互联网协议(IP)地址;IP 地址是 IP 使用的 32 位或 128 位无符号数字,它是一种低级协议,UDP 和 TCP 协议都是在它的基础上构建的。IP 地址的体系结构是由 RFC 790:Assigned Numbers、 RFC 1918:Address Allocation for Private Internets、RFC 2365:Administratively Scoped IP Multicast 和 RFC 2373:IP Version 6 Addressing Architecture 定义的。InetAddress 的实例包含 IP 地址,还可能包含相应的主机名(取决于它是否用主机名构造或者是否已执行反向主机名解析)