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

Download history 106/week @ 2024-04-14 22/week @ 2024-04-21 25/week @ 2024-04-28 15/week @ 2024-05-05 13/week @ 2024-05-12 19/week @ 2024-05-19 273/week @ 2024-05-26 39/week @ 2024-06-02 18/week @ 2024-06-09 21/week @ 2024-06-16 5/week @ 2024-06-23 11/week @ 2024-06-30 26/week @ 2024-07-07 21/week @ 2024-07-21 13/week @ 2024-07-28

61 每月下载量
3 crate 中使用

MIT/Apache

345KB
6.5K SLoC

欢迎来到Trillium!

📖 指南 📖

该指南提供了对 trillium crate 的架构概述和全局视图。

📑 Rust文档 📑

rustdocs 代表了了解 trillium 的任何单个 crate 和特定接口的最好方式。




法律

许可协议为以下之一

任选其一。

除非你明确表示,否则根据 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

JsonWebSocketHandlerWebSocketHandler 的基础上提供了一层薄薄的序列化和反序列化层,用于这个常见的用例。请参阅 JsonWebSocketHandler 的文档以获取示例用法。为了使用此特性,必须启用 json cargo 功能。

依赖项

~9.5MB
~227K SLoC