好吧,尝试了以下代码:
import jcifs.netbios.NbtAddress;
...
try{
NbtAddress addr = NbtAddress.getByName("Base");
}catch (UnknownHostException e){}
...
它抛出了那个异常。有任何想法吗?我已经在 LAN 上的几台命名机器上进行了尝试
我用的是模拟器。当我在真实硬件上运行应用程序时,问题就消失了。
问题是 NBT 名称解析通过在 LAN 上发送 UDP 广播数据包来工作,而模拟器位于其自己的虚拟 LAN 上,仅通过虚拟 NAT 路由器连接到您的主机 PC。广播数据包不会在不同的子网之间交叉,因此您的 LAN 上没有任何内容可以看到名称查询。
我也有同样的问题。我知道解决它的唯一想法是:
或者,
如果有可能在模拟器上运行可以用作 NetBIOS 主浏览器的东西,可能会有第三种解决方案,但我还没有对此进行足够的研究。
LMHOSTS 解决方案并不理想,因为您 (AFAIK) 无法浏览工作组和主机。这应该适用于 WINS 服务器,但我还没有尝试过。
我猜您的清单中没有 INTERNET 权限?