Rust语言 实现UDP网络聊天室(serve端)
use std::net::UdpSocket;
use std::thread;
use std::time;
废话不多说,首先是使用的三个库,分别是UDPSocket,thread以及time库
创建动态数组来存放从客户端的信息,设置10s等待时间以及绑定UDP端口
let mut client = vec![];
let mut cnt = 0;
let ten_millis = time::Duration::from_millis(10);
let socket = UdpSocket::bind(String::from("192.168.136.xx:9520"));
println!("UDP Char App");
if socket.is_err()
{
return;
}
let socket = socket.unwrap();
let mut tmp:bool = true;
接下来是使用一个大循环来不断接收来自客户端的信息,并将信息进行转发
loop{
let mut buf = [0u8; 256];
let (amt, src) = socket.recv_from(&mut buf).unwrap();
thread::sleep(ten_millis);//休眠等待10s
if amt==0{ //如果接收的字节数为0,则进行下一次循环
continue;
}
let buf = &mut buf[..amt];//设置数组长度为接收字节长度
let mut inf