我正在寻找一种使用Android 4.0.4解析.local主机名的解决方案(由于API级别15,因此没有NSD)。在设备上,我没有任何服务可以找到,只有主机名。
您能否提供一个解决方法的示例?我集成了jmDNS,但不知道如何用于主机名解析。
win-cmd:
ping kcmeasurement.local
Pinging kcmeasurement.local [10.202.0.29] with 32 bytes of data:
Reply from 10.202.0.29: bytes=32 time<1ms TTL=64
...
谢谢,
丹尼尔
最佳答案
除了使用jmDNS的要求外,我与您的问题几乎具有相同的要求,因此我使用NSD解决了它。我意识到这并不能完全解决您的问题,但是认为这可能对您自己和其他人了解我如何解决它有所帮助。
我设置了NSD发现监听器和NSD解析监听器,并在发现监听器代码中为目标主机名添加了过滤器(例如“kcmeasurement”,在我的情况下为“garagedoor”)。
这里有一篇博客文章,详细说明了如何执行此操作。请参阅步骤3-4,该步骤处理所需的Android App代码。
http://www.dodgycoder.net/2015/02/setting-up-bonjourzeroconfmdnsnsd.html
对于您的情况,我想您将不得不执行等效的过程,但仅使用jmDNS库而不是NSD。
关于Android解析.local(mDNS),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27547461/