问题标签 [dns-sd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 使用 DNSServiceQueryRecord 对 kDNSServiceType_MX 进行 DNS 查询,返回一项
我正在DNSServiceQueryRecord
使用kDNSServiceType_MX
以下内容:
并调用了回调,但只有一个条目:
所以这只返回一个条目。如何获取 MX 列表?我究竟做错了什么?提前致谢!
swift - 如何在 swift 中进行 CNAME 记录查找
我在网上找到了一些示例代码,我试图用它来进行 CNAME 记录查找(注意我传递了一个callback
我想要运行的块):
问题是这段代码被阻塞了,DNSServiceProcessResult(serviceRef.pointee)
并且callback
永远不会被调用。根据 Apple 的DNSServiceProcessResult文档,我需要
DNSServiceRefSockFD
与运行循环或 select() 结合使用,以确定是否存在来自服务器的响应,然后再调用此函数以处理响应而不阻塞。
所以我看了看,DNSServiceRefSockFD
发现我可以dnssd_sock_t
用DNSServiceRefSockFD(serviceRef.pointee)
. 但是现在我有了套接字,我不确定如何“将它与运行循环一起使用”作为运行循环的事件源(根据DNSServiceRefSockFD文档)。
我只是不明白这是如何工作的。我不明白如何将其dnsssd_sock_t
用作运行循环的事件源,以便我可以DNSServiceProcessResult
在正确的时间调用而不会阻塞,以便我callback
真正运行。
如果最好将套接字用作 kqueue 事件源或在 select() 循环中(如文档所述),我很好,但我也不知道该怎么做。
CoreFoundation 可能非常神秘,因此非常感谢任何帮助!
如果有更好的方法来进行 CNAME 记录查找,那么请务必分享!
android - Android NSD - 永远挂起/运行 - 特定于设备?
我正在尝试在我公司的专有硬件设备上执行服务发现,该设备托管自己的 WiFi 网络并通过该网络宣传 bonjour 服务。当我连接到那个 WiFi 网络时,我正在使用 NSD 来发现该服务并解决它。
代码非常简单,通常运行良好且快速。除了我有一个相当反复出现的问题(大约 10 次尝试中的 5 次)到目前为止本地化到我的三星 S8+。目前无法在 S6 或 Pixel XL 上重现。
问题是 DiscoveryListener 除了 onDiscoveryStarted() 之外从不做任何事情,它只是永远运行。如果我杀死该应用程序并重新开始,有时它会工作,有时它会继续挂起。
就像有一个阻塞的线程或其他东西,但日志中没有有用的信息(我可以找到),而且我还没有找到任何东西可以锁定,因为我可以做些什么来从中恢复。
我添加了一个超时,它将在 30 秒后停止侦听器,但通常当我在那之后重试时它仍然不起作用。
服务发现过程包含在一个 LiveData 中,它在活动时启动它。
听众很简单...
我无法在日志中找到太多有价值的东西,尽管当事情不工作时我确实看到了这条消息。试图寻找有关这个问题的答案的尝试并没有取得成果。
04-26 13:50:14.541 953-1218/? W//system/bin/netd:使用无效的 DNSServiceRef 0x72bb818000 FFFFFFFF DDDDDDDD 调用 dnssd_clientstub DNSServiceProcessResult
我还能提供哪些其他信息?
我已经在我的 S8+ 上使用 Andriy Druk 的 bonjour服务浏览器示例代码重现了这个问题,它甚至不使用 NSD ......所以看起来问题可能出在核心 mDNS 代码中,而不是特定于 Google 的 NSD 实现?
S8+ 上是否有一些系统软件或膨胀软件可能会干扰我对 NSD 或 mDNS 的使用 - 线程阻塞或其他什么?
arduino - esp8266中创建的mdns服务无法浏览
我到目前为止所做的是
我在我的 nodemcu 中创建了 mdns 服务
然后我在我的 windows 中安装了 Bonjour。之后,我可以
ping esp.local
从我的 windows power shell 中使用 mdns 名称从浏览器与 iot 设备进行通信esp.local
。
我现在正在努力解决的问题。
在搜索 mdns 服务时,我无法发现此设备。我dns-sd
在 windows powershell 中使用来浏览我的服务,但它没有发现这个设备。
命令是dns-sd.exe -B <Type> <Domain> (Browse for services instances)
所以我尝试了
dns-sd -B _http._tcp local. //have doubt about this one .
它只是显示
Browsing for _http._tcp.local.
如果有人可以帮助我,那就太好了。谢谢。
c# - 用 `ServiceDiscovery.Dnssd` 做广告,用 Bonjour 发现?
Windows.Networking.ServiceDiscovery.Dnssd
命名空间是否允许广告可通过 Apple 的 Bonjour 发现的服务?
Microsoft 的文档提到了所有正确的 DNS-SD RFC,但我无法使用此Bonjour Browser 程序发现我的程序。我知道 Bonjour Browser 程序正在运行,因为它会发现我网络上的其他设备以及通过mDNSResponder
. 微软关于这个命名空间的文档非常模糊,让我感到疑惑。
这段代码中有什么明显错误的地方吗?
示例输出:
windows - 在 Windows 中运行 Avahi Docker linux 容器
我想为 DNS-sd 客户端制作一个跨平台的解决方案。我选择在 Linux 中使用 Avahi,然后可能在 Windows 的 docker 容器中使用(出于某种原因,像 Bonjour 这样的解决方案不适合我的目的。由于 Avahi 需要在 Linux 中调用 D-bus,我想知道是否有人知道如何在 windows 中使用 docker 容器解决这个问题,这样人们就可以在使用 docker Container 的 windows 中使用 Avahi。
谢谢你。
bonjour - 我正在尝试为 _universal._sub._ipp.tcp.local 生成 dns-sd 查询,有没有办法请求子查询
我正在尝试生成 dns-sd 查询_universal._sub._ipp.tcp.local
,有没有办法请求子查询。
但是,有对上述请求的回应。
有没有办法为子类型发送查询。
c++ - Windows.Devices.Enumeration DeviceWatcher 找不到具有多个网卡的所有服务
我在使用带有 C++/WinRT 的 DN-SD 的 Windows.Devices.Enumeration 及其 DeviceWatcher 时遇到问题。我的机器中有 2 个网卡,并且只能找到通过第一张网卡连接的机器上的那些服务。
这发生在我自己的测试程序中以及当我在 Microsoft 的“Windows 通用示例”中扩展 DeviceEnumeration 示例程序以包含 DNS-SD 时,例如添加到 Samples/DeviceEnumerationAndPairing/cpp/DisplayHelpers.h 中的 DeviceSelectorChoices
并到 Samples/DeviceEnumerationAndPairing/cpp/DisplayHelpers.cpp 插入
到 Samples/DeviceEnumerationAndPairing/cpp/DisplayHelpers.cpp 并更新方法:
然后编译并运行并从设备观察程序中选择 DNS-SD - 它只会在与第一个网络接口的子网连接的机器上找到服务,即使它在第二个网络接口的子网上有连接也是如此。但它没有列出仅在第二个网络上的机器上运行的任何服务。
使用 dns-sd 命令行工具查找两个网络上的所有广告服务:
我在 AQSFilter 上尝试了许多变体,认为它可能不会默认使用两个网络接口 - 例如使用 System.Devices.Dnssd.NetworkAdapterId - 但没有乐趣。
我想它也有可能在 Windows 中低于设备枚举 API ..?
networking - 如何在 Windows 或 Linux 上安装 dns-sd 命令行测试工具?
Stuart Cheshire 和 Daniel H. Steinberg 于 2005 年出版的《零配置网络 - 权威指南》一书描述了一个dns-sd命令行测试工具,它应该可用于 macOS、Windows 和 Linux。在第 6 章(第 92 页)的开头,他描述了该工具,但这并不是关于如何下载和安装它的明确指南,只是可以从 Darwin 开源存储库中获得。
该工具提供了诸如dns-sd -B
浏览服务实例之类的命令。
我是 Windows 和 Linux 用户,但找不到该工具。Bonjour 已经安装在我的 Windows 系统上,但我不清楚这是否足够,或者我是否需要明确下载该工具。当我dns-sd
在 windows 命令行上键入时,它说这个命令是未知的。如何使其可用?
linux - 如何在centos linux中创建DNS-SD自定义主机名,以便我们可以通过dotnetcore中的zeroconf解析器发现它
我需要通过主机名获取 zeroconf 设备的 ipaddress。它在 Windows 中完美运行,但在 linux 中出现以下错误
这是 Windows 代码,但它不适用于 avahi 的 Linux
这是Linux错误。
所以我不明白如何从这里开始。我在 dotnet core 中使用了 zeroconf