CentOS Rust 网络编程教程:从环境搭建到 TCP 服务器实战
在 CentOS 系统上使用 Rust 语言进行网络编程,并不需要复杂的技术储备。只需完成环境配置,再动手实现一个简单的 TCP 回声服务器与客户端,就能快速掌握这一流程,并在此基础上自由扩展。下面是一份完整的操作指南,适合初学者和有一定经验的开发者参考。

安装 Rust 编译环境
如果系统中尚未安装 Rust,推荐使用官方提供的一键安装脚本,方便又可靠:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh安装完成后,务必执行以下命令将 Rust 工具链加入当前会话的环境变量:
source $HOME/.cargo/env创建 Rust 项目
使用
cargo命令新建一个项目,并切换到项目目录:cargo new rust_network_program cd rust_network_program编写网络通信代码
编辑
src/main.rs,将以下代码粘贴进去。这是一个极简的 TCP 回声服务器,能够接收客户端发送的数据并原样返回:use std::io::{Read, Write}; use std::net::{TcpListener, TcpStream}; fn handle_client(mut stream: TcpStream) { let mut buffer = [0; 1024]; loop { let bytes_read = match stream.read(&mut buffer) { Ok(bytes) => bytes, Err(_) => return, }; if bytes_read == 0 { return; } if let Err(_) = stream.write_all(&buffer[..bytes_read]) { return; } } } fn main() -> std::io::Result<()> { let listener = TcpListener::bind("127.0.0.1:7878")?; for stream in listener.incoming() { match stream { Ok(stream) => { std::thread::spawn(|| handle_client(stream)); } Err(err) => { println!("Error: {}", err); } } } Ok(()) }该程序监听本机 7878 端口,每收到一个新连接就创建一个独立线程进行处理,非常适合作为 Rust 网络编程的入门练习。
编译并运行服务端
只需两条命令即可完成编译和启动:
cargo build cargo run服务端启动后,会在后台等待客户端连接到 7878 端口并发送数据。
测试客户端连接
你可以使用
telnet命令,也可以编写一个 Rust 客户端进行测试。下面是一个简单的客户器实现,向服务端发送 “Hello, world!” 消息:use std::io::{Read, Write}; use std::net::TcpStream; fn main() -> std::io::Result<()> { let mut stream = TcpStream::connect("127.0.0.1:7878")?; stream.write_all(b"Hello, world!")?; let mut buffer = [0; 1024]; let bytes_read = stream.read(&mut buffer)?; println!("Received: {}", String::from_utf8_lossy(&buffer[..bytes_read])); Ok(()) }编译并运行该客户端后,控制台将打印出服务端返回的“Hello, world!”,证明 TCP 通信成功。
以上就是 CentOS 环境下使用 Rust 进行网络编程的完整入门过程。你可以基于此示例继续添加错误处理、探索多线程并发模型,或者替换为其他网络协议——Rust 生态对此提供了丰富的支持,无论怎样扩展都很顺手。
