Java获取本机IP地址的三种方法总结(java获取当前主机ip)

网友投稿 1107 2022-08-06


Java获取本机IP地址的三种方法总结(java获取当前主机ip)

目录1 获取局域网IP地址2 获取全部 IPV4/IPV6 IP地址3 获取全部存放本机IP地址知识点补充

1 获取局域网IP地址

InetAddress.getLocalHost().getHostAddress();

2 获取全部 IPV4/IPV6 IP地址

private static List getIpAddress() throws SocketException {

List list = new LinkedList<>();

Enumeration enumeration = NetworkInterface.getNetworkInterfaces();

while (enumeration.hasMoreElements()) {

NetworkInterface network = (NetworkInterface) enumeration.nextElement();

if (network.isVirtual() || !network.isUp()) {

continue;

} else {

Enumeration addresses = network.getInetAddresses();

while (addresses.hasMoreElements()) {

InetAddress address = (InetAddress) addresses.nextElement();

if (address != null && (address instanceof Inet4Address || address instanceof Inet6Address)) {

list.add(address.getHostAddress());

}

}

}

}

return list;

}

3 获取全部存放本机IP地址

private static List getIpAddress() throws SocketException {

List list = new LinkedList<>();

Enumeration enumeration = NetworkInterface.getNetworkInterfaces();

while (enumeration.hasMoreElements()) {

NetworkInterface network = (NetworkInterface) enumeration.nextElement();

Enumeration addresses = network.getInetAddresses();

while (addresses.hasMoreElements()) {

InetAddress address = (InetAddress) addresses.nextElement();

if (address != null && (address instanceof Inet4Address || address instanceof Inet6Address)) {

list.add(address.getHostAddress());

}

}

}

return list;

}

知识点补充

IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 超详细讲解异常的处理(java基础知识点)
下一篇:Java 深入浅出讲解泛型与包装类(java史莱姆娘模组)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~