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 网络编程
10,855,605 每月下载量
用于 23,568 个Crate(直接使用380个)
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版(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://opensource.org/licenses/MIT)
供您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交给本项目包含在内的任何贡献,将按照上述方式双重许可,不附加任何额外条款或条件。
依赖项
~0-8.5MB
~60K SLoC