7 个不稳定版本 (3 个破坏性更新)
使用旧的 Rust 2015
0.21.1 | 2018 年 3 月 26 日 |
---|---|
0.21.0 | 2018 年 3 月 14 日 |
0.20.1 | 2018 年 2 月 15 日 |
0.20.0 | 2017 年 10 月 12 日 |
0.18.0 | 2017 年 3 月 2 日 |
#143 in WebSocket
205KB
4K SLoC
Rust-WebSocket
Rust-WebSocket 是一个用 Rust 编写的 WebSocket (RFC6455) 库。
Rust-WebSocket 为处理 WebSocket 连接(客户端和服务器)提供了一个框架。该库目前处于实验状态,但提供了处理正常和安全 WebSocket 的功能,支持消息级别 API 的分片,数据帧级别 API,以及扩展和自定义行为的能力。
安装
要将库的发布版本从 crates.io 添加到 Cargo 项目中,请在 Cargo.toml 的 'dependencies' 部分添加以下内容
websocket = "0.20.2"
要将库的 Git 仓库添加到 Cargo 项目中,请将以下内容添加到 Cargo.toml
[dependencies.websocket]
git = "https://github.com/cyderize/rust-websocket.git"
并将 extern crate websocket;
添加到您的项目中。
使用
可以使用测试和 benches 以及一些额外的功能在 Rust 夜间版本中编译此库。要启用夜间功能,请使用 cargo --features nightly ...
。
请参阅库的最新版本的文档 此处,以及位于 /examples
中的示例,可以使用以下命令运行
cargo run --example server
并在单独的终端中
cargo run --example client
测试
该库可以使用cargo test
命令运行测试,以及使用cargo bench
命令运行基准测试。
包含了多个测试,确保核心WebSocket功能按预期工作。这些测试还不是全面的,仍在开发中。
Autobahn TestSuite
Rust-WebSocket使用Autobahn TestSuite来测试是否符合RFC6455规范。如果您已安装Autobahn TestSuite,可以使用以下命令自行运行这些测试:
wstest -m fuzzingserver
cargo run --example autobahn-client
测试客户端实现,
wstest -m fuzzingclient
cargo run --example autobahn-server
测试服务器实现。规范文件可在这里找到。
这些测试的结果可在这里查看。
许可证
MIT许可证(MIT)
版权所有 (c) 2014-2015 Cyderize
特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许获得软件的人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、特定用途适用性或不侵犯第三方权利的保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他方式,无论是否因软件或其使用或其他方式而产生。
依赖关系
~4–14MB
~182K SLoC