使用dns-sd进行服务发现

时间:2016-11-17 18:39:01

标签: wifi bonjour service-discovery mdns dns-sd

我有一个在工作站模式下配置的设备。设备通过智能手机提供的热点连接到智能手机。设备需要搜索智能手机上的应用程序发布的服务,例如_abc._tcp。

我使用命令dns-sd -B _abc._tcp但没有输出。 请指导我可能缺少的东西。

应用程序发布服务。我在Android上使用Bonjour应用程序验证了它。

另请澄清

  1. 是否可以在站点模式下发现服务。
  2. 搜索服务时,必须提供完整的服务名称。如果不是我们如何发现智能手机上发布的所有服务
  3. 设备上的防火墙设置是否会影响服务发现?
  4. 我们如何在C ++中实现同样的目标。任何可以帮助发现的图书馆。
  5. 谢谢你的进步。

2 个答案:

答案 0 :(得分:1)

  

是否可以在车站模式下发现服务。

请参阅station mode

  

在搜索服务时,有必要提供完整的服务   服务名称。

  

如果不是我们如何发现所有发布的服务   智能手机

服务发现旨在用于发现您正在寻找的服务器,如打印机或网页。 您可能使用的一种解决方案是查找服务的每个实例的所有服务和查询。每个实例都有一个名称和一个ip,您可以将其与手机的ip进行比较。嗯,我觉得这很难看。

  

设备上的防火墙设置是否会影响服务发现?

  

我们如何在C ++中实现同样的目标。任何可以提供帮助的图书馆   发现。

几乎所有语言中都有lib ...在你最喜欢的搜索引擎中搜索c ++服务发现,你会发现很多(或其他一个带有一个或多个链接的线程)

答案 1 :(得分:0)

Codewing已经提供了答案。

添加上述答案。

Can firewall settings on device affect for service discovery?

是。服务发现也可以在多个接口上发生(wlan0,eth0 ...)。 这些接口也会影响服务发现。要检查此dns配置文件,可以检查。在我的情况下,接口wlan在配置文件中被禁用,因此我无法发现服务。