#服务发现 #mdns #发现 #zeroconf #dns-sd

mdns-sd

无异步运行时依赖的mDNS服务发现库

43个版本

0.11.3 2024年8月24日
0.11.1 2024年5月14日
0.10.5 2024年3月25日
0.10.2 2023年12月28日
0.1.0 2021年10月17日

143网络编程

Download history 1660/week @ 2024-05-03 1852/week @ 2024-05-10 1827/week @ 2024-05-17 1449/week @ 2024-05-24 1404/week @ 2024-05-31 1592/week @ 2024-06-07 1948/week @ 2024-06-14 1859/week @ 2024-06-21 1487/week @ 2024-06-28 2049/week @ 2024-07-05 1982/week @ 2024-07-12 1755/week @ 2024-07-19 2698/week @ 2024-07-26 2412/week @ 2024-08-02 2774/week @ 2024-08-09 2369/week @ 2024-08-16

每月10,559次下载
30 个Crate中使用 (17 个直接使用)

Apache-2.0 OR MIT

225KB
4.5K SLoC

mdns-sd

Build Cargo docs.rs Rust version: 1.63+

这是一个基于安全Rust的mDNS (多播DNS) 服务发现的简单实现,具有少量依赖。一些亮点

  • 支持客户端(查询者)和服务器(响应者)使用。
  • 支持macOS、Linux和Windows。
  • 支持IPv4和IPv6。
  • 与同步和异步代码都兼容。
  • 不依赖任何异步运行时。

方法

我们内部不使用async/.await,而是创建一个新的线程来运行mDNS守护进程。

API通过flume通道与守护进程交互,这些通道易于与同步和异步代码一起使用。有关更多详细信息,请参阅文档

兼容性和限制

此实现基于以下RFC

这是一个仍然处于beta状态的软件。我们专注于手头的常见用例。我们使用一些现有的常用工具(例如Linux上的Avahi、macOS上的dns-sd和iOS上的Bonjour库)进行测试,以验证基本兼容性。

目前此库有以下限制

  • 仅支持多播,不支持单播发送/接收。

许可

许可协议为以下之一

任选其一。

贡献

欢迎贡献!如有任何问题,请在GitHub上提交问题。

除非您明确说明,否则您提交的任何旨在包含在本作品中的贡献,根据上述许可证的定义,应按上述方式双重许可,不附加任何其他条款或条件。

依赖项

~0.7–8MB
~52K SLoC