问题标签 [mdns]

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 投票
2 回答
1333 浏览

android - 在android中使用苹果mdns服务

我从这里http://www.java2s.com/Code/Jar/d/Downloaddnssdjar.htm下载了 dns_sd jar并尝试在我的 android 项目中使用它来发现服务。

我使用 DNSSD.browse(myService, myBrowseListener) 来发现服务。

问题是我不断得到

com.apple.dnssd.AppleDNSSDException:DNS-SD 错误 -65563:SERVICENOTRUNNING

听说 mdnsd 守护进程并不总是在 android 上运行。如何启动它或解决方法是什么?

注意:我不想使用任何其他库,如 jmdns、mdnsjava、waiter 等...

0 投票
1 回答
252 浏览

android - Physical Web mDNS android 测试 - 广告信标应用未显示

我正在尝试在 Android 上复制这个RaspberryPI 示例

我为 android 创建了一个应用程序来使用 mDNS(jmDNS 库)宣传 URL,该应用程序运行良好,我可以使用ZeroConf Browser 应用程序在另一部手机上接收消息

但是,当我尝试使用Physical Web 应用程序接收相同的消息时,没有任何反应,该应用程序找不到该服务。

我相信问题出在我发送主机名和 txt 记录的方式上。

这是我的代码:

你能帮我理解什么是错的吗?

0 投票
1 回答
304 浏览

centos - Centos 7 Avahi 无法从 Windows 机器解析

我已经在 Centos 6.6 上安装和配置了 avahi-daemon 和 samba,当我在 Ubuntu 机器上测试它时它正在工作。例如:ping myhostname.localsmb://myhostname.local

但是,当我从 Windows 机器上尝试时,samba 既不能工作,也不能通过ping myhostname

谁能解释一下 Windows 和 Ubuntu 之间的可能区别。

此外,如果 Windows 可以在浏览网络时列出我的服务器,那就太好了,但我不知道我是否应该启用诸如广播之类的东西,或者只是正常配置就足够了。

提前感谢日志。

0 投票
0 回答
394 浏览

node.js - 节点 mdns dns 服务错误

我正在尝试使用 mdns 节点模块实现 zeroconf 协议,但是当我使用它时出现此错误(在树莓派 2 上):

这是我的代码:

0 投票
1 回答
223 浏览

tcp - 如何在不使用 mDNS 的情况下通过 Wifi 连接两台设备?

我有一个在设备上运行的嵌入式网络服务器。现在我想要一个智能手机应用程序连接到网络服务器。他们在同一个wifi网络上,但他们不知道彼此的IP地址。

我知道这个问题通常可以通过在服务器上实现 mDNS 协议来解决。但是还有其他选择吗?服务器可以要求特定的 IP 地址或类似地址吗?

0 投票
1 回答
314 浏览

macos - 从 bash 中运行程序,无法正确转义空间

我正在 Mac OSX 10.11 上编写一个 bash 脚本,以便在我连接到我的 VPN 时自动使用 dns-sd 为 AFP、SMB 和一些打印机“代理”我的 Bonjour 广告。

我的脚本的基本要点是我声明了一些数组以供以后调用 dns-sd 时使用。我遇到困难的数组:

要确定我是否需要实际运行 dns-sd,我会:

测试 ifconfig 的返回值:

如果 ppp0 存在,我会遍历数组的长度,检查 dns-sd 当前是否正在运行,等等。

如果 dns-sd 实例一直在运行但 ppp0 现在不可用,我会通过保存的 PID 将它们全部杀死,并在几分钟后再次检查。

我相信我的其余代码正在执行我想要的,所以我会直接跳到有问题的行,希望总体思路足够清楚。

为清楚起见,dns-sd 的手册页显示这是 -P 的用法。

我面临的问题是最后三个 SERVICE_TEXTS 元素中空格字符的行为。到目前为止,故障排除一直是在终端中做所有事情,以确保我没有遗漏一些非常明显/发疯的东西。这正是我输入的内容以及返回的内容......哪个有效

但是,当我在命令中使用变量时(为清楚起见,回显)...发生这种情况

问题是元素4的部分

dns-sd 报告这是

您会注意到,当我只是键入字符串而不是使用变量时,dns-sd 会用一个“\”报告它。

显然四个“\”对我没有任何好处......如果我删除“\”,我仍然没有得到想要的结果,因为 dns-sd 认为我正在描述一个新密钥。我打字

尝试获取文字“\”,并且从内存中 dns-sd 仍然收到四个。

我也玩过单引号和双引号,包括在对 dns-sd 的调用中将变量括在双引号中,但这会在每个空格中添加反斜杠。这使得 dns-sd 将 TXT 字符串视为一键一值,其中值包含空格。这比不带引号调用它的用处要小得多,所以我放弃了进一步调查。

所以基本上,似乎 dns-sd 没有收到或收到四个“\”......它只需要一个然后一切都会完美运行......

调用 dns-sd 并传递不带引号的 ${SERVICE_TEXTS[$n]} 非常接近所需的行为,但无法处理键值对的“值”中的空格字符。

这里的任何指导将不胜感激!我一直在翻阅 bash 手册,搜索堆栈交换并尝试我能想到的一切以使这项工作持续 4 小时 :(

0 投票
1 回答
1654 浏览

java - 是否有使用 mdnsjava 的有效网络服务发现示例?

问题

我正在尝试开始为我的 Java 客户端/服务器应用程序进行网络服务发现——基本上,我只是希望客户端在没有配置的情况下在同一以太网段上找到服务器。我想为将来有客户在其他平台上提供服务。可能只是 NETCF 和 Android。这不应该是火箭手术。

选项

浏览此处列出的选项几个小时似乎表明 mdnsjava 是目前最好的选择。我在下面发布了一些我的研究,但我目前的声誉仅限于两个链接。

我得到了Jmdns示例来编译、注册和浏览而没有太多的悲伤……但它根本无法可靠地工作。浏览器返回 255.255.254 子网的 IP 地址,在那些情况下它根本找到了服务。

Mdnsjava 得到了更好的评价,但我完全没有让它运行。我发现的示例是不独立的代码片段,javadocs 并不是真正的文档——它们只是带有未命名(但强制)参数的公共方法列表。

Avahi4j 自 2009 年以来一直停留在 v0.1。没有花任何时间在上面。

Bonjour 显然需要非 Apple 平台上的系统库。

我承认对 Upnp 一无所知,看起来需要大量的基础设施才能满足我的最低要求。

问题

是否存在使用 mdnsjava 注册服务的可编译的工作示例?如果这是我在 2015 年的最佳行动方案,我准备被告知调查另一个图书馆。

0 投票
1 回答
354 浏览

angularjs - AngularJS 应用程序中的 mDNS?

是否可以在 AngularJS 应用程序中使用 mDNS 查找?

更具体地说,我正在通过 Ionic 框架(在 AngularJS 上运行)制作应用程序。我希望它能够连接到网络上的嵌入式设备。

例如:

0 投票
0 回答
773 浏览

c++ - ::avahi_client_new 失败并出现错误“发生意外的 D-Bus 错误”

我正在使用 avahi 进行服务广告和发现。众所周知,avahi 也需要 dbus,因此还添加了 dbus-1.6.8 库。我在启动时启动 dbus-daemon 和 avahi-daemon。两个守护进程都在运行,我可以在进程列表中看到。

但是当我尝试创建 avahi 客户端时, ::avahi_client_new 调用失败并出现错误“发生意外的 D-Bus 错误”,即AVAHI_ERR_DBUS_ERROR = -22, /**< An unexpected D-Bus error occured */

贝娄是我的全部功能。

PS Poll = ::avahi_threaded_poll_new():; 是成功的。

如果有人对这个问题有任何线索,请告诉我。或者至少如何调试。

提前致谢。

0 投票
0 回答
167 浏览

java - 如何使用 mdnsjava 捕获 mDNS 数据包?

基本上,我的网络有很多设备,它们都广播 mDNS 数据包。我想通过解析来捕获数据包并获取IP地址。我厌倦了使用 mdnsjava 但我最终无处可去?有什么办法可以捕获 mDNS 数据包。?