2016-11-17 71 views
1

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

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

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

还请澄清

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

感谢提前。

回答

1

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

看到station mode

当搜索服务是有必要提供完整的 服务名称。

如果不是我们可以发现在 智能手机

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

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

如何才能实现在C++相同。任何图书馆,可以帮助在 发现。

有在几乎每一种语言库...搜索C++服务发现在你喜欢的搜索引擎,你会发现很多(或其他所谓的线程链接到一个或多个)

0

Codewing有已经提供了答案。

添加到上述答案。

Can firewall settings on device affect for service discovery? 

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