15个版本
0.6.6 | 2024年5月30日 |
---|---|
0.6.4 | 2024年2月13日 |
0.6.0 | 2023年12月24日 |
0.5.2 | 2023年4月21日 |
0.2.0 | 2021年7月26日 |
#22 在 #trillium
61 每月下载量
在 3 crate 中使用
345KB
6.5K SLoC
欢迎来到Trillium!
📖 指南 📖
该指南提供了对 trillium crate 的架构概述和全局视图。
📑 Rust文档 📑
rustdocs 代表了了解 trillium 的任何单个 crate 和特定接口的最好方式。
法律
许可协议为以下之一
- Apache许可证2.0版本 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
除非你明确表示,否则根据 Apache-2.0 许可证定义的,你故意提交的任何旨在包含在作品中的贡献,应如上双许可,而不附加任何其他条款或条件。
lib.rs
:
WebSocket trillium处理器
使用此 crate 的三种主要方式
使用一个接收 WebSocketConn
的异步函数
这是使用 trillium websockets 的最简单方式,但并不提供实现 WebSocketHandler
trait 所提供的任何便利。它最适合非常简单的 WebSocket 或需要在应用程序中将 WebSocketConn 移动到其他地方的使用。此时,WebSocketConn 完全属于所有者,将在销毁时断开连接,而不是当传递给 websocket
的异步函数完成时断开连接。
use futures_lite::stream::StreamExt;
use trillium_websockets::{Message, WebSocketConn, websocket};
let handler = websocket(|mut conn: WebSocketConn| async move {
while let Some(Ok(Message::Text(input))) = conn.next().await {
conn.send_string(format!("received your message: {}", &input)).await;
}
});
实现 WebSocketHandler
WebSocketHandler
提供了作为流发送出站消息的支持,并简化了执行异步代码在接收到的消息上的常见模式。
使用 JsonWebSocketHandler
JsonWebSocketHandler
在 WebSocketHandler
的基础上提供了一层薄薄的序列化和反序列化层,用于这个常见的用例。请参阅 JsonWebSocketHandler
的文档以获取示例用法。为了使用此特性,必须启用 json
cargo 功能。
依赖项
~9.5MB
~227K SLoC