- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想绑定(bind)到 mac os x 机器上的多播 DNS 组和端口来制作一些 bonjour 功能的原型(prototype)。但是,当我尝试绑定(bind)到端口时,出现以下错误(顺便说一句,这是从 python 运行的):
socket.error: [Errno 48] Address already in use
看起来 mDNSResponder 绑定(bind)到地址:未设置 SO_REUSEADDR 的端口。
是否有可能以允许其他代理绑定(bind)到地址:端口组合的方式运行 mDNSResponder?
最佳答案
在这种情况下,错误代码描述可能有点困惑。当一个应用程序在没有设置 SO_REUSEPORT 选项的情况下绑定(bind)到一个端口时,如果第二个应用程序试图绑定(bind)到同一个端口,则绑定(bind)将失败并出现上述错误。问题不在于绑定(bind)地址,而在于端口和 SO_REUSEPORT 标志。
顺便说一句,在 Linux 下,通过使用 SO_REUSEADDR 标志(根据 SO_REUSEPORT on linux )实现等效(多个多播监听器)功能。
第一个应用程序必须设置 SO_REUSEPORT 标志进行绑定(bind),否则它将具有独占绑定(bind),而其他应用程序绑定(bind)将失败。例如:
# For BSD based platforms.
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
sock.bind(('', MCAST_PORT))
事实证明,mDNSResponder 可以在设置 SO_REUSEPORT 标志的情况下启动,但前提是它在服务启动时无法独占绑定(bind)。您可以执行以下操作以使其进入此模式:
mDNSResponder 服务将启动并使用 SO_REUSEPORT 标志进行绑定(bind)。然后其他应用程序可以共享该端口,直到下一次重新启动。您可能需要重新启动任何使用 bonjour 的应用程序,因为它们已注册到旧的 mDNSResponder 实例。
关于python - 绑定(bind)到 mac os x 上的 mdns 多播地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7342322/
Windows(一些现代风格)是否默认安装和/或运行 mDNS 服务器?如果是这样,那么如何告诉它(最好是动态地)开始/停止广告新服务? 如果没有标准,那么如何处理尝试在该环境中运行多个 mDNS 服
首先,一些背景知识:avahid 在我的嵌入式 Linux 设备上给我带来了问题(它有一些崩溃的错误,看起来不会很快得到修复),而且我只需要最少的 mDNS 功能(即足以让 Mac 或 PC 上的人可
这就是我想要实现的目标。我有一个带有内置打印机的 android 设备,我可以通过串行接口(interface)访问它。 Play 商店中有 2 个我希望使用和打印的应用程序。这些应用程序仅允许通过以
我可以通过在 Google Chrome 中启用 -enable-webrtc-hide-local-ips-with-mdns 标志来使用 WebRTC 的 mDNS 功能。但经过长时间的调查,我无
我的 ESP8266 主机名有问题。我正在使用 MDNSResponder,并且可以使用 mydevice.local 成功访问我的设备 但是,我的 WiFi 路由器 (Netgear WGR614)
我有一个开发网络服务器托管为“myhost.local”,它是使用 Bonjour/mDNS 找到的。服务器正在运行 avahi-daemon。 网络服务器还希望处理其自身的任何子域。例如“cat.m
我们在网络上有一些设备(如网络摄像机)。我正在用 C 语言编写 API 来查找这些相机。这些摄像机支持组播 DNS 查询。我有查询的格式,但我没有通用的响应格式。这样我就可以编写可以解析 MDNS 查
我正在寻找解决 .local 主机名与 Android 4.0.4(没有 NSD,由于 API 级别 15)的解决方案。在设备上我没有任何服务可以发现,只有主机名。能否请您举例说明如何解决?我集成了j
我正在尝试使用“网络服务发现”API 在 Android 应用程序中访问 mDNS TXT 记录。基本上我的应用程序需要发现服务并从中访问 TXT 记录。 如何从 android 网络服务发现 API
我正在尝试在 LAN 中运行 HTTP 服务器,并希望使用另一台台式计算机上的浏览器访问它。由于我不喜欢手动输入 IP 地址和端口,因此我尝试使用 jmDNS 设置 mDNS。 Str
我一直在研究使用 mDNS 从 JavaScript 应用程序中发现服务。基本思想是向 exampleservice.local 发出 AJAX 请求,然后返回包含相关信息的 JSON。 由于应用程序
以前,如果安装了 iTunes,Windows 只会解析多播 DNS 地址(例如,example.local)。在最近的 Windows 版本中,这仍然是正确的还是发生了变化? (我几年前就放弃了 W
当您安装 Bonjour for Windows 时,您可以从系统中的任何位置解析任何“.local”mDNS 名称。 例如,您可以“ping some_computer.local”,mDNSRes
我们需要使用域名在本地连接 Rasberry PI 设备。为此,我们已经在 Rasberry PI 设备中启用了 mDNS 支持。当我们从 flutter 中寻找 mDNS 时 mDNS flutte
我正在尝试创建一个基于 ubuntu 17.04 的 docker 容器,该容器可以浏览我的网络(docker 网络之外)上的 mDNS,并在 mDNS 上向我的网络(docker 网络之外)做广告。
我有一个物联网设备破坏了 mDNS 响应器,有没有办法通过 react-native/Expo 应用程序找到该设备? 我找到了一个 react-native 库 ( react-native-zero
如何在 Android Chrome 浏览器地址栏中获取 mDNS 名称 (test.local) 解析为 ip 地址? 在 Windows 中安装 Bonjour 服务后,它可以在 Chrome 浏
我的目标是从 Windows 计算机发现本地网络中 Linux 计算机“服务器”的 IP 地址。从另一台 Linux 计算机“客户端”我可以做: ping -c1 server.local 并得到回复
我注意到一些更好的网络发现应用程序,例如适用于 iOS 的 Fing 和适用于 Mac 的 iNet,即使它们没有宣传 Bonjour 服务(例如 iTunes Wi-Fi Sync),也能够发现 i
我正在使用 this example chrome app作为浏览 mDNS 的基础。它运行良好,并为我提供了服务提供者的服务名称和 IP,但我无法找到人类可读的服务实例名称。 最佳答案 我有一段时间
我是一名优秀的程序员,十分优秀!