我试图了解如何通过 JCIFS 获取给定 IP 地址的 LAN 上计算机的名称,但除了 IP 地址之外我无法获取任何内容。
我正在使用的代码是
InetAddress addr = NbtAddress.getByName( ip ).getInetAddress();
String test = UniAddress.getByName(ip).getHostName();
System.out.println("IP: " + ip + " - addr: " + addr.getHostName() + " - test: " + test);
我得到的结果是
IP: 10.1.2.115 - addr: 10.1.2.115 - test: 10.1.2.115
如果我用 toString()
替换 getHostAddress()
,我得到的是
IP: 10.1.2.115 - addr: 10.1.2.115 - test: 0.0.0.0<00>/10.1.2.115
我哪里错了?
我正在使用 IP 10.1.2.117
的 Mac 测试该库,而目标是 Android 设备。
最佳答案
JCIFS 在 1.3.14 版本上停止支持 Netbios 名称解析。 您可以找到用于阻止此行为的发行说明。 https://jcifs.samba.org/
关于java - 使用 JCIFS 从 IP 获取主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14277148/