rust实现TCP服务器

以下是一个简单的Rust TCP服务器示例,它接受客户端连接,并将接收到的数据回显回客户端:

use std::io::{self, Read, Write};

use std::net::TcpListener;

fn main() -> io::Result<()> {

let listener = TcpListener::bind("127.0.0.1:8080")?;

println!("Listening on 127.0.0.1:8080");

for stream in listener.incoming() {

let stream = stream?;

handle_connection(stream)?;

}

Ok(())

}

fn handle_connection(mut stream: TcpStream) -> io::Result<()> {

let mut buffer = [0; 1024];

let bytes_read = stream.read(&mut buffer)?;

if bytes_read == 0 {

return Ok(());

}

println!("Received {} bytes: {:?}", bytes_read, &buffer[..bytes_read]);

// Echo the data back

stream.write_all(&buffer[..bytes_read])?;

stream.flush()?;

Ok(())

}

相关推荐
愚润求学9 分钟前
【Linux】Git的简单使用
linux·服务器·git
搜搜秀1 小时前
Linux(CentOS10) gcc编译
linux·运维·服务器·c语言
pumpkin845141 小时前
栈与堆的本质区别:深入理解 Rust 的内存管理模型
开发语言·rust
Source.Liu1 小时前
【学Rust写CAD】35 alpha_mul_256(alpha256.rs补充方法)
rust·cad
受之以蒙1 小时前
Rust 宏全解析:从基础到实战,掌握代码生成魔法
前端·笔记·rust
gqkmiss2 小时前
Chrome 135 版本开发者工具(DevTools)更新内容
服务器·网络·chrome·浏览器·chrome devtools·开发者工具
XYN612 小时前
【嵌入式学习6】多任务版TCP服务器
服务器·网络·笔记·python·网络协议·学习·tcp/ip
Mars--2 小时前
TCP三次握手和TCP四次挥手
网络·网络协议·tcp/ip
欲儿3 小时前
Spring Boot 下 MySQL Redis双重复用提高服务器性能
运维·服务器·spring boot·redis·mysql
上海云盾商务经理杨杨3 小时前
DDoS防护:从基础认知到实战防御的全方位指南
服务器·网络安全·ddos