JCIFS,Android和getbyname

好吧,尝试了下面的代码:
import jcifs.netbios.NbtAddress;
...

              try{
                  NbtAddress addr = NbtAddress.getByName("Base");
              }catch (UnknownHostException e){}
...
它抛出了那个例外。 有任何想法吗?我已经尝试过在局域网上使用几台命名的机器     
已邀请:
我猜您的清单中没有INTERNET权限?     
我正在使用模拟器。 当我在真实硬件上运行应用程序时,问题就消失了。     
问题是NBT名称解析通过在LAN上发送UDP广播数据包来工作,并且模拟器位于其自己的虚拟LAN上,仅通过虚拟NAT路由器连接到主机PC。广播数据包不会在不同的子网之间交叉,因此LAN上没有任何内容可以看到名称查询。 我也有同样的问题。解决这个问题的唯一想法是: 在您的LAN上设置WINS服务器,并使用jcifs.netbios.wins属性指向您的应用程序, 要么, 在模拟器的文件系统中创建一个LMHOSTS文件,其中包含您希望能够访问的LAN上主机的名称和IP,并使用jcifs.netbios.lmhosts属性指向您的应用程序。 如果可以在仿真器上运行可以作为NetBIOS主浏览器的东西,可能会有第三种解决方案,但我还没有研究那么多。 LMHOSTS解决方案并不理想,因为您没有(AFAIK)可以浏览工作组和主机。这应该适用于WINS服务器,但我没有尝试过。     

要回复问题请先登录注册