本人新手一个,方才脑袋一热,突然想写一个回显服务器,为了给自己加点难度,要求除了main以外不定义任何函数。现在人蒙了。请问有没有人会。在线等!!! 对了,愿rust社区牛起来!!!
在指定不能定义任何函数之前,我写了一个包含一个handle_client函数的回显服务器。
use std::io::{Read, Write};use std::net::{TcpListener, TcpStream};use std::thread;fn handle_client(mut stream: TcpStream) { let mut buffer = [0; 1024]; while let Ok(bytes_read) = stream.read(&mut buffer) { if bytes_read == 0 { break; } stream.write_all(&buffer[..bytes_read]).unwrap(); }}fn main() { let listener = TcpListener::bind("0.0.0.0:8080").expect("Failed to bind address"); println!("Server listening on port 8080"); for stream in listener.incoming() { match stream { Ok(stream) => { let peer_addr = stream.peer_addr().unwrap(); println!("New client connected: {}", peer_addr); thread::spawn(move || { handle_client(stream); println!("Client disconnected: {}", peer_addr); }); } Err(e) => { println!("Error: {}", e); } } }}
在指定不能定义任何函数之前,我写了一个包含一个handle_client函数的回显服务器。
use std::io::{Read, Write};use std::net::{TcpListener, TcpStream};use std::thread;fn handle_client(mut stream: TcpStream) { let mut buffer = [0; 1024]; while let Ok(bytes_read) = stream.read(&mut buffer) { if bytes_read == 0 { break; } stream.write_all(&buffer[..bytes_read]).unwrap(); }}fn main() { let listener = TcpListener::bind("0.0.0.0:8080").expect("Failed to bind address"); println!("Server listening on port 8080"); for stream in listener.incoming() { match stream { Ok(stream) => { let peer_addr = stream.peer_addr().unwrap(); println!("New client connected: {}", peer_addr); thread::spawn(move || { handle_client(stream); println!("Client disconnected: {}", peer_addr); }); } Err(e) => { println!("Error: {}", e); } } }}