002 Rust 网络编程,实现 UDP 服务器和客户端

Netany ·
更新时间:2024-09-20
· 626 次阅读

本例子用Rust实现一个基于UDP的服务端和客户端的程序。服务端收到字符串后,做一个逆序,然后返回。

知识点

udp主要用到net库中的UdpSocket。

源码 服务端 use std::net::UdpSocket; fn main() -> std::io::Result { let socket = UdpSocket::bind("127.0.0.1:8080")?; loop { let mut buf = [0u8; 1500]; let (amt, src) = socket.recv_from(&mut buf)?; let buf = &mut buf[..amt]; buf.reverse(); socket.send_to(buf, &src)?; } } 客户端 use std::net::UdpSocket; use std::{io, str}; fn main() -> std::io::Result { let socket = UdpSocket::bind("127.0.0.1:8000")?; socket.connect("127.0.0.1:8080")?; loop { let mut input = String::new(); io::stdin().read_line(&mut input)?; socket.send(input.as_bytes())?; let mut buffer = [0u8; 1500]; socket.recv_from(&mut buffer)?; println!( "recv: {}", str::from_utf8(&buffer).expect("Could not write buffer as string") ); } }
作者:令狐壹冲



服务器 rust 客户端 udp 网络编程

需要 登录 后方可回复, 如果你还没有账号请 注册新账号