8个版本

0.3.3 2024年4月27日
0.3.2 2023年12月17日
0.3.0 2023年7月27日
0.2.2 2021年5月23日
0.1.0 2020年8月29日

网络编程类中排名1397

Download history 178/week @ 2024-04-21 58/week @ 2024-04-28 33/week @ 2024-05-05 22/week @ 2024-05-12 41/week @ 2024-05-19 8/week @ 2024-05-26 95/week @ 2024-06-02 19/week @ 2024-06-09 12/week @ 2024-06-16 61/week @ 2024-06-23 86/week @ 2024-06-30 21/week @ 2024-07-07 146/week @ 2024-07-14 84/week @ 2024-07-21 75/week @ 2024-07-28 75/week @ 2024-08-04

每月下载381
2 个包中使用

MIT/Apache

26KB
549

multicast-socket

单套接字跨多个接口连接网络

此包提供了一个抽象结构体,允许单套接字在多个接口上监听和响应组播数据包。

默认情况下,当将常规的 std::net::UdpSocket 绑定到未指定的IP地址 0.0.0.0 时,套接字只会将消息发送到操作系统认为的 默认接口。对于像笔记本电脑、手机、带Wi-Fi的台式机、VPN、带有WSL的Windows、带适配器的Mac等具有多个接口(即“多宿主”)的计算机来说,这并不理想。

此包不是为每个接口创建多个套接字并提供多套接字写入器,而是使用一些C/C++操作系统特定的系统调用和方法来提供单套接字多接口组播体验。

它还提供了一个实用工具构造函数,该函数使用 get_if_addrs 系统调用来查找所有可用的接口以绑定到它,从而提供即开即用的组播多宿主体验。

由于我没有测试项目来验证IPv6的需求,此包是针对IPv4设计的。如果有人建议如何测试IPv6,将来可以扩展。

示例

cargo run --example mdns

用法

[dependencies]
multicast-socket = "0.2.1"

目标

主要级别

  • x86_64-unknown-linux-gnu
  • x86_64-pc-windows-msvc
  • x86_64-apple-darwin

交叉级别

  • armv7-unknown-linux-gnueabihf
  • aarch64-linux-android
  • mips-unknown-linux-musl
  • x86_64-unknown-linux-musl
  • aarch64-unknown-linux-gnu

许可证

根据以下之一许可

由您自行选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以供包含在作品中的任何贡献,应按上述方式双许可,不附加任何额外条款或条件。

参考文献

依赖项

~1.9–9MB
~78K SLoC