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

Posted

技术标签:

【中文标题】Avahi 能否通过网络发布两次相同的服务名称?【英文标题】:Can Avahi publish twice the same service name over the network? 【发布时间】:2016-12-16 19:17:26 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

是的,这称为零配置中的名称冲突,应该可以工作。建议不要这样做,因为大多数客户端会感到困惑并且只显示其中一个。其他,例如 bonjour 实现会将第二个重命名为dowload (2)。总而言之,这是可能的,但不值得麻烦。

【讨论】:

【参考方案2】:

这可能存在于实施 Avahi 的 DNS-SD 协议中。在 android 中,我看到使用 NSD-Manager 有一个错误,有时会发布一个服务 3-4 次。在网络中,如果您浏览,您将看到它 服务,服务(2),...

【讨论】:

以上是关于Avahi 能否通过网络发布两次相同的服务名称?的主要内容,如果未能解决你的问题,请参考以下文章

avahi-daemon 无法注册我正在使用 avahi-publish-service 发布的服务

如何使用 C++ 创建 AVAHI 客户端和服务器?

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

[转帖]centos 7 avahi-daemon服务的作用及如何关闭

mDNS协议漏洞修复

avahi:广播我的服务已更新信息