使用Tokio实现一个简单的TCP服务器,代码如下。
首先添加依赖:1
2[dependencies]
tokio = { version = "1.49", features = ["rt", "macros", "net", "io-util"] }
创建文件src/main.rs:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio::net::TcpListener;
async fn main() -> std::io::Result<()> {
let listener = TcpListener::bind("127.0.0.1:3000").await?;
loop {
let (mut socket, _) = listener.accept().await?;
tokio::spawn(async move {
let mut buf = [0; 1024];
if socket.read(&mut buf).await.is_ok() {
let _ = socket.write_all(b"Hello world!").await;
}
});
}
}
测试一下,结果如下:1
2冷启动速度:2.4ms
内存占用:1.9MB
- 本文作者: killf
- 本文链接: https://www.killf.info/编程语言/Rust/Rust中的Web服务器-基于异步TCP/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!