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