1 个不稳定版本
0.1.0 | 2023年1月6日 |
---|
#36 in #tcp-stream
13KB
291 代码行
Trellis
Rust-Lang的一个简单网络库。
入门指南
监听器:
// ===== Imports =====
use std::io::Error;
use trellis::prelude::*;
// ===================
#[tokio::main]
async fn main() -> Result<(), Error> {
let address = Address::new(
(127, 0, 0, 1),
8080,
);
let listener = Listener::new(address).await?;
println!("Listening at: {:?}", listener.local_addr);
loop {
let mut conn = listener.accept().await?;
println!("New Connection: {:?}", conn.peer_addr);
conn.write_u8(100).await?;
conn.write_string(String::from("Hello, World!")).await?;
}
Ok(())
}
客户端:
// ===== Imports =====
use std::io::Error;
use trellis::prelude::*;
// ===================
#[tokio::main]
async fn main() -> Result<(), Error> {
let address = Address::new(
(127, 0, 0, 1),
8080,
);
let mut conn = Connection::new(address).await?;
println!("Connected to: {:?}", conn.peer_addr);
println!("Local Address: {:?}", conn.local_addr);
let num = conn.read_u8().await?;
println!("Message Received: {:?}", num);
let data = conn.read_string(13).await?;
println!("{:?}", data);
Ok(())
}
依赖项
~3–10MB
~83K SLoC