问题标签 [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.

0 投票
0 回答
204 浏览

android - 服务注册如何与 NsdManager 一起工作?

我刚刚开始使用适用于 Android 的 NSDManager 类来处理多播 DNS。我从这个链接https://android.googlesource.com/platform/development/+/master/samples/training/NsdChat/src/com/example/android/nsdchat/NsdHelper.java找到了 NsdChat 示例。在这段代码中,注册服务似乎很简单,但我想了解它的底层工作机制,我在任何地方都找不到信息。

如果有人对此有经验并可以向我解释,将不胜感激。这些是我现在能想到的主要问题。

1) 当 registerService() 被调用时,应用程序在向谁注册这个服务?

2) 注册流程是什么?名称和端口等信息是否像 DNS 一样存储在查找表中的某个位置?

3)如果有人有一个图表来解释它是如何工作的,那就太棒了。

先感谢您。

0 投票
1 回答
1389 浏览

android - 桥接 Android 模拟器以托管 mDNS 服务发现

我在 Adroid TV 上创建了一项服务,目前正在尝试使用 mDSN 服务发现协议从另一台设备上发现该服务。当我将 Discovery 应用程序放在第二台设备上时,它能够很好地检测到第一台电视上的服务。但如果我将 Discovery 应用程序放在安卓模拟器上,它就无法在电视上检测到我的服务。从我所做的所有研究来看,似乎每个 Android 模拟器都在自己的专用网络中,无法真正与任何其他设备通信。我不确定如何完成这项工作,并且我在此链接Set IP Address for Android Emulator中找到了一些看起来像是解决方案的东西,但它在我的机器上不起作用。我的模拟器没有像示例那样的 2 个以太网接口,在桥接完成后,我的主机上也失去了 Internet 连接。我不知道该怎么办。让我的模拟器在实际设备上检测服务是否可行?如果是,那我做错了什么?

0 投票
3 回答
1569 浏览

c# - 如何在 Unity3D 中实现 DNS - 服务发现,类似于 Bonjour 浏览器

我想实现一个服务发现模块来获取服务广播设备的 IP 地址,类似于 bonjour 浏览器。是否可以在 Unity3D(Android/iOS)中实现它。谁能指导我如何实现它。一个小例子会很有帮助。谢谢

编辑 1:IOT 设备正在广播 DNS 服务,我想在 Unity 应用程序中获取此服务以查找 IOT 设备的 IP 地址。我无权访问 IOT 设备软件或源代码。

0 投票
0 回答
470 浏览

iphone - DNS-SD 服务响应 mDNS 查询的策略是什么?

我正在尝试使用 DNS-SD 收集连接在 wifi 上的设备的一些信息。当我反复使用dns-sd -B _services._dns-sd._udp (OS X)/ avahi-browse -t _services._dns-sd._udp(Linux) 来观察发布的服务时,我得到或多或少的输出,而设备(Mac 和 iPhone)始终处于连接状态。例如,这项服务(iTunes 用于 Wi-Fi 同步)偶尔会显示,而没有人更改 iPhone 的同步设置。

所以这是因为 iPhone 会每隔一段时间或其他原因响应 mDNS 查询?DNS-SD 服务响应 mDNS 查询的策略是什么?如何更准确地检测这些服务?

0 投票
1 回答
151 浏览

javascript - Firefox 的 dns-sd.js Web 扩展的 Manifest.json 权限相关问题

我正在尝试让 Justin D-Arcangelo 的 dns-sd.js ( https://github.com/justindarc/dns-sd.js ) Javascript 代码在 Firefox 51.0.1 (Ubuntu 14.04) 的 Web 扩展中工作

我有以下 manifest.json 文件:



正如上面提到的作者所推荐的,我在 manifest.json 文件中有以下内容:


不幸的是,当我尝试在“关于:调试”下的 Firefox 附加测试页面中加载此清单文件时。它抱怨说

“安装过程中出错:权限不可迭代”。

从我在这里看到的,权限表示在一个数组中,即["x","y",etc.]
如何协调这两种不同的用法?udp_socket在 manifest.json中设置权限的正确方法是什么?

0 投票
0 回答
977 浏览

android - Android & iOS dns-sd:如何进行跨平台服务发现?

在 Android 上,我这样做是为了创建一个服务广播,其中包含一个简单的附加地图作为信息

检索另一个信号

在 iOS 上,它是相同的服务名称和信息映射

和代表们

Android 设备只能看到另一个 Android 设备,iOS 设备之间也是如此。然而,两家人不能见面。无论操作系统如何,我都想让它们被其他设备看到。

0 投票
1 回答
527 浏览

android - Android NSD:使用空服务类型注册

注册的结果不应该为空,这是我从logcat得到的,也是注册成功的回调。

一切都是空的,系统生成的端口46518,类型,txtrecord。

以下代码来自官方指南

0 投票
1 回答
275 浏览

shell - dns-sd 浏览命令的输出未重定向到busybox shell(ash)中的文件

为了检查 mdnsd 是否处于探测模式,我们使用以下命令来浏览服务并将其输出重定向到一个文件,并且在我们决定 mdnsd 处于探测模式的命令中找到设备的主机名。

用于发布服务的命令

使用以下命令浏览服务(在后台运行)

使用 cat 来显示文件的内容。

myfile 为空,如果>替换为tee,我看到控制台 myfile 上的输出仍然为空。

我无法理解发生了什么。

有没有指点,求助

编辑
只是为了完整性添加输出,我之前错过了添加。

0 投票
0 回答
612 浏览

android - Bonjour DNSServiceRegister 在 Android 上

我正在使用 Android NDK,其 dns_sd.h 代码在其他平台上运行良好:https ://github.com/HBPVIS/Servus/blob/master/servus/dnssd/servus.h

在 Android 上,该库正在调用DNSServiceRegister,没有错误返回码,但是 DNS-SD 检查工具 (avahi-discover) 显示网络中没有任何公告。

我启用了以下权限:

我链接到 Android 的mDNSResponder 实现,并链接到这个答案中推荐的 shim 库。

0 投票
1 回答
480 浏览

bonjour - Zeroconfig/Bonjour/dns-sd:如何翻译本地。主机名转换为 IP 地址

当我在 C 中使用 DNS-SD api 注册新服务,然后尝试在我的 LAN 中的另一台计算机上发现此服务时,我在解决此发现的服务后得到如下内容:

在此处输入图像描述

这里的主机名是:Michal's-iMac-5k.local.

这如何转换为 IP 地址,或者如何使用它通过 TCP 套接字进行连接?