#sockets #io #networking #api-bindings

socket2

提供用于处理网络套接字,以尽可能多的配置选项的实用程序

31个版本

0.5.7 2024年4月29日
0.5.6 2024年2月23日
0.5.5 2023年10月20日
0.5.3 2023年5月12日
0.2.1 2017年6月13日

#2 in 网络编程

Download history 2473412/week @ 2024-05-03 2558383/week @ 2024-05-10 2572369/week @ 2024-05-17 2488448/week @ 2024-05-24 2686836/week @ 2024-05-31 2640347/week @ 2024-06-07 2598435/week @ 2024-06-14 2656985/week @ 2024-06-21 2455578/week @ 2024-06-28 2500771/week @ 2024-07-05 2613745/week @ 2024-07-12 2714147/week @ 2024-07-19 2687404/week @ 2024-07-26 2653241/week @ 2024-08-02 2777202/week @ 2024-08-09 2236569/week @ 2024-08-16

10,855,605 每月下载量
用于 23,568 个Crate(直接使用380个)

MIT/Apache

270KB
5.5K SLoC

Socket2

Socket2是一个提供创建和使用套接字实用程序的crate。

这个crate的目标是使用高级配置选项(这些选项在标准库中的类型中不可用)创建和使用套接字,而不使用任何不安全代码。

这个crate提供了尽可能直接的访问系统套接字功能的方式,这意味着在提供跨平台实用程序时需要付出很少的努力。当使用这个crate时,用户需要知道如何使用套接字。**如果您不知道如何使用libc/system调用创建套接字,那么这个crate不适合您**。大多数,如果不是所有,函数都直接对应于等效的系统调用,没有应用错误处理,因此没有处理如EINTR之类的错误。因此,使用这个crate可能会稍微繁琐一些,但它应该为您提供对套接字配置的最大灵活性。

有关更多信息,请参阅API文档

分支

目前Socket2支持两个版本:v0.5和v0.4。v0.5版本正在master分支中开发。v0.4版本在v0.4.x分支中开发。

操作系统支持

Socket2试图支持与Rust相同的操作系统/架构,请参阅https://doc.rust-lang.net.cn/nightly/rustc/platform-support.html。但是,这并不总是可能的,以下是当前支持的操作系统列表。

如果您喜欢的操作系统不在列表中,请考虑为其做出贡献!请参阅问题#78

一级

这些操作系统与每个CI提交一起进行测试,并且必须始终通过测试。所有函数/类型等,除了在all功能之后之外,都必须在这些操作系统上工作。

  • Linux
  • macOS
  • Windows

二级

这些操作系统目前在CI中构建,但未进行测试。并非所有函数/类型等可能在这些操作系统上工作,即使它们不在all功能标志之后。

  • Android
  • FreeBSD
  • Fuchsia
  • 苹果iOS
  • illumos
  • NetBSD
  • Redox
  • 太阳星系

最低支持的Rust版本(MSRV)

Socket2使用1.63.0作为MSRV。

许可证

本项目许可协议为以下之一

供您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交给本项目包含在内的任何贡献,将按照上述方式双重许可,不附加任何额外条款或条件。

依赖项

~0-8.5MB
~60K SLoC