Android mDNS TXT记录

时间:2014-09-23 00:04:35

标签: android mdns

我正在尝试使用“网络服务发现”API访问Android应用程序中的mDNS TXT记录。基本上我的应用程序需要发现服务并从中访问TXT记录。

如何从android网络服务发现API访问mDNS TXT记录。是否支持从Network Service Discovery API访问TXT记录。

3 个答案:

答案 0 :(得分:3)

仅通过getAttributes() method on NsdServiceInfo在API Level 21(Android 5.0)中添加了对访问TXT记录的支持。

如果您需要支持较旧的Android版本,很遗憾,您需要使用jmDNS等库来访问TXT记录。

答案 1 :(得分:3)

正如评论中所提到的,NsdServiceInfo.getAttributes()方法是访问TXT记录,但a bug表示getAttributes()结果为空。如果您需要TXT记录,这会使网络服务发现API无效。

我希望谷歌能解决这个问题,因为使用NsdManager比较jmDNS似乎在寻找服务方面要快得多。与此同时,如果有帮助我开发了一种解决方法,当NsdManager通知新服务时,通过线路手动获取TXT记录。根据麻省理工学院的许可,这已经open sourced as a library

答案 2 :(得分:0)

我的collegae发现了一个很棒的库来绕过这个使用真正的Apple DNSSD Java API的错误:

RxDNSSD

BonjourBrowser是一个很棒的示例应用,它使用Android上的所有功能。它也非常适合用于测试目的创建自己的mDNS服务。

我尝试了Steve Lilly在下面提到的TinyDNSSD,但这对我来说无法使用,因为当你的服务没有所有记录时它不起作用。当f.e。缺少A-Record它不起作用(TimeOutException)。

相关问题