gpt4 book ai didi

java - Java获取网络上其他设备可访问的IP地址

转载 作者:太空宇宙 更新时间:2023-11-04 09:38:41 28 4
gpt4 key购买 nike

我最近开始使用 Java 中的套接字,并使用静态方法 InetAddress.getLocalHost() 返回的 IP 地址来限制我的服务器套接字这样,我的客户端在大多数情况下都能够连接到服务器。

但是,当我的服务器计算机具有复杂的网络时,它不起作用。静态方法 InetAddress.getLocalHost() 返回客户端计算机无法访问的地址

我想知道,如何通过Java获取连接到同一网络的其他设备可访问的IP地址?

最佳答案

InetAddress.getLocalHost() 是映射到您的主机名的地址。这就是它所说的全部。您从中得到的结果可能是也可能不是您想要将套接字绑定(bind)到的内容,具体取决于您的主机和网络设置以及您的意图。

套接字绑定(bind)到一个或多个网络接口(interface),并将监听这些接口(interface)。您可以通过调用获取所有接口(interface)的列表:

NetworkInterface.getNetworkInterfaces()

我相信您还可以绑定(bind)到地址“0.0.0.0”,它表示绑定(bind)到您的所有网络接口(interface)。我以前用过这个,但不知道基本套接字API是否支持它。

关于java - Java获取网络上其他设备可访问的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56210542/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com