【问题标题】:Service discovery using dns-sd使用 dns-sd 进行服务发现
【发布时间】:2016-11-17 18:39:01
【问题描述】:
我有一台配置为工作站模式的设备。设备通过智能手机提供的热点连接到智能手机。设备需要在智能手机上搜索应用程序发布的服务,比如_abc._tcp。
我正在使用命令dns-sd -B _abc._tcp,但没有输出。
请指导我可能缺少什么。
应用程序发布服务。我在 android 上使用 Bonjour 应用程序对其进行了验证。
还请澄清
- 是否可以在工作站模式下发现服务。
- 搜索服务时需要提供完整的服务名称。如果不是,我们如何发现智能手机上发布的所有服务
- 设备上的防火墙设置会影响服务发现吗?
- 我们如何在 C++ 中实现相同的功能。任何有助于发现的图书馆。
谢谢提前。
【问题讨论】:
标签:
wifi
bonjour
service-discovery
mdns
dns-sd
【解决方案1】:
在站模式下是否可以发现服务。
见station mode
在搜索服务时,需要提供完整的
服务名称。
是的
如果不是,我们如何发现所有发布的服务
智能手机
服务发现旨在用于发现您正在寻找的服务,例如打印机或网页。
您可能使用的一种解决方案是查找所有服务并查询服务的每个实例。每个实例都有一个名称和一个 ip,您可以将其与手机的 ip 进行比较。嗯,我觉得这很丑。
设备上的防火墙设置会影响服务发现吗?
是的
我们如何在 C++ 中实现相同的功能。任何可以帮助的图书馆
发现。
几乎每种语言都有库...在你最喜欢的搜索引擎中搜索 c++ 服务发现,你会发现很多(或另一个带有一个或多个链接的 so-thread)
【解决方案2】:
Codewing 已经提供了答案。
补充以上答案。
Can firewall settings on device affect for service discovery?
是的。服务发现也可以发生在多个接口(wlan0、eth0...)上。
这些接口也会影响服务发现。要检查这个 dns 配置文件,可以检查。在我的情况下,配置文件中禁用了接口 wlan,因此我无法发现服务。