6 个版本
0.2.5 | 2023 年 3 月 31 日 |
---|---|
0.2.4 | 2023 年 3 月 30 日 |
0.1.0 | 2023 年 3 月 26 日 |
#1709 在 异步
14KB
133 行
连接 💌
一种基于 TCP 的连接,可以发送和接收可序列化对象。
用法
将其添加到您的 Cargo.toml 中
[dependencies]
connection = "0.2.5"
您可以通过以下方式创建一个 Connection
use connection::Connection;
#[tokio::main]
async fn main() {
let mut conn = Connection::connect("127.0.0.1:8080").await.unwrap();
}
您可以使用 Connection
发送和接收可序列化对象
use connection::Connection;
use serde::{Serialize, Deserialize};
/// A (de)serializable type shared between client and server
#[derive(Serialize, Deserialize)]
struct Message {
id: u32,
data: String,
}
/// Code running client side
async fn client_side(mut client_conn: Connection) {
let message = Message {
id: 1,
data: "Hello, world!".to_string(),
};
client_conn.write::<Message>(&message).await.unwrap();
}
/// Code running server side
async fn server_side(mut server_conn: Connection) {
let message: Message = server_conn.read::<Message>().await.unwrap().unwrap();
}
依赖项
~3–12MB
~126K SLoC