A Simple UDP server and client
There are a few semantic differences between the UDP server and the TCP server we wrote earlier. Unlike TCP, UDP does not have a stream structure. This derives from the semantic differences between the two protocols. Let's take a look at what a UDP server might look like:
// chapter3/udp-echo-server.rs use std::thread; use std::net::UdpSocket; fn main() { let socket = UdpSocket::bind("0.0.0.0:8888") .expect("Could not bind socket"); loop { let mut buf = [0u8; 1500]; let sock = socket.try_clone().expect("Failed to clone socket"); match socket.recv_from(&mut buf) { Ok((_, src)) => { thread::spawn(move || { println!("Handling connection from {}", src); sock.send_to(&buf, &src) .expect("Failed to send a response"); }); }, Err(e) => { eprintln...