问题标签 [avahi]

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 回答
945 浏览

avahi - Avahi 守护进程解析到错误的主机名

我遇到了 avahi 对我的苹果机场路由器的地址解析问题。

当我跑步时avahi-browse -alr

这是输出,但我的苹果机场的 IP 地址是192.168.1.21

当我编辑/etc/avahi/hosts文件以解析到这个 IP 地址时,它工作了几分钟,然后地址又回到了169.254.8.180

提前致谢。

0 投票
1 回答
322 浏览

service - Bonjour Avahi 守护程序 TXTRecord

我尝试使用 txt-records 在多个设备之间共享信息。因此,我正在使用 bonjour/avahi。服务器端作为wireshark证明工作正常。信息被添加到 txt-record 并使用 MDNS 发送出去。问题发生在客户端,守护进程/服务似乎并没有一直获得信息更改。它卡在已经过时的信息中,并且在我尝试再次解决服务时不会自动更新它。

在客户端,我将 DNSServiceResolve 与回调函数结合使用,在该回调函数中我调用 TXTRecordContainsKey 和 TXTRecordGetValuePtr 以确保数据在使用前可用。这一切都很好,只是如前所述,信息并不总是更新。

我是否遗漏了什么,或者是否有任何其他 API 函数调用可用于强制守护程序更新其记录,但 DNSServiceResolve 除外?

先感谢您。

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 回答
289 浏览

linux - avahi:如何将主机名与由 avahi-autoipd 生成的 eth0:avahi 的地址相关联?

我在带有自定义 linux 系统(由 bu​​ildroot 构建)的飞思卡尔 imx6 板上使用 avahi。

所以我使用 avahi 进行地址分配(eth0:avahi)和主机名解析。我的飞思卡尔 imx6 板还使用另一个接口,该接口具有在另一个子网掩码 (eth0) 中使用的“静态”网络地址。

我还用另一个地址创建了另一个接口 eth0:0(这第三个以太网地址只是为了理解我的问题而创建的)

我的飞思卡尔 imx6 板的 ifconfig:

对于我的测试,我使用与我的飞思卡尔 imx6 板连接的电脑。我从这台电脑启动命令“avahi-browse -a -c -r -v”。

当我从我的电脑启动 avahi-browes 时,我可以看到飞思卡尔 imx6 板的主机名 (name.local),但它与接口 eth0:0 的地址相关联,而不是 eth0:avahi。当我删除接口 eth0:0 时,飞思卡尔 imx6 板的主机名与 eth0 相关联。

在我的电脑上,我可以使用 eth0、eth0:avahi 地址和 eth0:0(当它被激活时) ping 飞思卡尔 imx6 板

我的问题:我希望,当我启动命令“avahi-browse -a -c -r -v”时,我的飞思卡尔 imx6 板返回与 eth0:avahi 关联的地址,因为目前,我的飞思卡尔 imx6 板返回配置的最后一个接口(在我的例子中,eth0:0)你知道怎么做吗?

谢谢您的回答,

0 投票
0 回答
545 浏览

linux - avahi daemon 能否用于在 BNEP(BT-PAN) 网络接口中发布和发现服务

avahi daemon 能否用于在 BNEP 网络接口中发布和发现服务?如果两个设备都连接在蓝牙中,那么两个设备都会有 IP,所以我们可以在它们之间进行 TCP-IP 通信。实际上,我想在跨平台(Android 和 Linux)中进行 mDNS 服务发现。在 Android 中,我可以使用 Android 的 NSDManager 在 BNEP (BT-PAN) 网络接口中发布和发现服务,它也适用于 Android 跨设备通信。所以android到android设备通信不是问题。

现在我正在尝试在 Linux 中发现在 Android 中发布的服务并从 linux 中发现(反之亦然),但我无法做到这一点。[我已将我的 Linux 设备与 Android 绑定]

在linux中,在avahi config(/etc/avahi/avahi-daemon.conf)中,我设置为allow-interfaces=bnep0

在从 Linux 中发现服务时,我找不到已发布的服务。或者我也找不到在 Linux 中发布的 Android 服务。

有没有人遇到过这种类型的问题?
我正在尝试发现在 bnep 中发布的服务

0 投票
2 回答
1335 浏览

zeroconf - Avahi 能否通过网络发布两次相同的服务名称?

我正在尝试编写一个允许我通过本地网络发布服务的 C 程序。我正在使用 Avahi 发布名为download且类型为_lzo._tcp的服务。

基本上,我在 2 个 raspberry-pi 板上部署了这个 C 程序,它们都有一个 avahi-daemon 并且有一个不同的 IP 地址(192.168.0.10 和 192.168.0.11)。

实际上,我使用 avahi-discover 找到了两个下载服务之一,对应于已声明该服务的第一个 raspberry-pi。

在第二个中,我没有 avahi-daemon 给出的问题。这真的有可能拥有两次相同类型的下载服务,但对应两个不同的发布者吗?

0 投票
1 回答
682 浏览

nginx - Nginx 动态 proxy_pass 变量到 .local 区域

所以,我想proxy_pass在我的服务器上的 .local 区域中由 Avahi 控制的动态流浪机器。我有一个 nginx 虚拟主机配置:

Nginx 在 /var/log/nginx/error.log 中向我返回了一个错误:

但是,如果我手动设置$subdomain为“测试”,例如,它可以正常工作并传递给我真正想要的 test-example.local 机器。

如何让它真正充满活力?我应该在我的虚拟主机配置中更改什么?

0 投票
2 回答
190 浏览

java - 为什么在 java servlet 中运行的 shell 脚本文件中需要休眠

我有一个script.sh需要由 java servlet 和手动运行的 shell 脚本。它的内容是:

更新:它无法删除尾随 &,因为它avahi-publish不会返回但一旦启动就会继续运行,我需要发布其他服务。

servlet 是:

问题是,如果在浏览器中访问 servlet,服务 MyInstance 将不会发布。但是附加sleep 0.1s到脚本文件可以解决它。

我的问题是, Runtime.exec() 中是否有任何魔法以及为什么sleep需要该指令?

0 投票
1 回答
389 浏览

android - Android NsdManager 定期丢失+找到 avahi 守护程序服务

我有安装了 avahi-daemon(默认配置)和注册服务 test.local 的 linux PC。从 iOS 发现 test.local 服务通过 Bonjour 就像一个魅力,但从 Android 不是。Nsd Manager 定期(每秒)调用 NsdManager.DiscoveryListener OnSeviceLost() 并在 OnServiceFound() 之后立即调用。实际发现有效,但每秒钟都会发生 OnServiceLost,它破坏了我的内部软件逻辑。

我的 Andoid 代码基于以下文档: https ://developer.android.com/training/connect-devices-wireless/nsd.html

“avahi daemon”/Android 是否有一些特殊配置来防止所描述的行为(定期 Lost+Found 服务发现)?

0 投票
1 回答
721 浏览

linux - avahi-daemon 未启动(无法创建运行时目录)

我正在尝试开始avahi-daemon,但它响应错误

Failed to create runtime directory /opt/var/run/avahi-daemon/

该目录确实存在。

即使我删除了这个文件夹并重新开始avahi,它也会创建它,但仍然会说它失败了。

我究竟做错了什么?