java - 如何找到 "the right"的IP地址?

标签 java ip-address

我在使用 InetAddress.getLocalHost().getHostAddress() 时遇到问题。它在大多数计算机上都能正常工作,但在有更多可用 IP 地址的计算机上会失败(在这种情况下,“错误”地址属于 VMware 网络适配器)。我需要将其放入消息中的地址(然后在服务器上将其用作应发送响应的地址)。

我知道我可以使用 NetworkInterface.getNetworkInterfaces() 来获取所有网络接口(interface),但是我如何以编程方式找到稍后对服务器可见的正确网络接口(interface)?在我的特定情况下,客户端和服务器都位于同一公司网络内。

最佳答案

如果所有机器都在同一个网络中,并且该网络有其IP范围,您可以检查IP是否在此范围内。通常 vmware 网络适配器的 IP 位于 192.168.0.x 子网中 - 如果您的公司范围不同,那么它应该足够了。

关于java - 如何找到 "the right"的IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17162721/

相关文章:

hibernate - hibernate 实体中IP地址的最佳类型?

java - 使用java中的Prepared Statement将用户IP地址插入MySql表

objective-c - 有没有办法从 Cocoa 中的给定 url 获取 IP 地址?

java - Google App Engine Java 未收到电子邮件

java - Guava 加载缓存 : Why use refreshAfterWrite and expireAfterWrite together

java - 无法获取另一个类中的屏幕宽度和高度值

java - 无法使用ip地址从同一网络中的另一台计算机访问tomcat中的文件?

java - Spring - 映射多个 url 模式

Java进程处于运行状态并消耗CPU

webserver - 当我不在局域网中时连接到本地Web服务器