当前位置:   article > 正文

InetAddress isSiteLocalAddress()、 isLoopbackAddress()、isLinkLocalAddress()、 getLocalHost() 区别

issitelocaladdress

isLoopbackAddress(): 检查地址类型 判断当前InetAddress对象是否为环回地址。环回地址是指主机用于自身通信的特殊地址,如IPv4中的127.0.0.1或IPv6中的::1。应用程序可以使用环回地址与同一台机器上的其他服务进行通信。

getLoopbackAddress(): 返回一个InetAddress对象,该对象代表环回地址
Further Reading : 啥是环回地址?

在这里插入图片描述
isSiteLocalAddress(): 检查地址类型,检测给定的InetAddress实例是否为站点本地地址 站点本地地址是IPv6和较早版本的IPv4私有地址空间的一部分,它被设计用于单个组织内部的通信不会路由到Internet上

IPv4的地址本地地址分为三段:10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255 (企业内部或个人内部的局域网内部的ip都应该在此三个网段内,因为内网用ipv4足够);
在IPv6中,它表示的是特定的地址块,例如FC00::/7范围内的地址

isAnyLocalAddress(): 判断当前的 InetAddress 对象是否代表的是任意本地地址 这种地址常用于服务器端程序监听所有可用网络接口上的连接请求,或者在不知道目标的具体地址时作为发送数据包的目标地址。例如,在创建一个TCP或UDP服务器套接字并调用 bind() 方法绑定到特定端口时,可以指定 InetAddress.anyLocalAddress() 以便在任何本地接口上接收来自任何远程主机的连接请求。

在这里插入图片描述
isLinkLocalAddress(): 判断给定的 IP 地址是否为链路本地地址 在智能家居系统中,各智能设备可能在初始化阶段或网络条件复杂无法获得公网地址时,通过链路本地地址进行局域网内的控制消息交换和服务发现。

IPv4的本地连接地址的范围是169.254.0.0 ~ 169.254.255.255
IPv6的本地连接地址的前12位是FE8,其他的位可以是任意取值,如FE88::FE80::ABCD::都是本地连接地址。

在这里插入图片描述
getLocalHost(): 返回一个InetAddress对象,该对象代表执行Java代码的本地主机的实际网络地址 这个地址通常是系统在当前网络环境下的实际IP地址,可能是公网地址、内网地址或者是环回地址,具体取决于系统配置和网络设置。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/88731
推荐阅读
相关标签
  

闽ICP备14008679号