我想使用Android网络服务发现(NSD)功能来发现在本地域上发布的一些本地网络服务。我在Android网站上阅读了关于Android NSD的official documentation。我可以毫无问题地找到.local域上公布的网络服务。但我有一些其他网络服务不直接在.local域上公布,而是在mydevice.mycompany.local
这样的域上公布。在Android NSD API示例中,有一个函数可以使用给定的服务类型(" _http._tcp。"),协议和侦听器来发现服务:
discoverServices("_http._tcp.", NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
默认情况下,此功能仅发现.local
域上的网络服务,而不是我的案例mydevice.mycompany.local
上的其他本地域。但是,我在Android上安装了一个Bonjour应用程序,它可以找到其他域名服务。所以我认为有一种方法可以通过代码获得这些网络服务。
我浏览了Android NSD API并且没有找到让我指定我想要发现服务的域名的选项。那么我如何使用Android NSD代码来发现像这样的域上的本地网络服务呢?