From 28382b249535e964ce983fe5a0821a898a077775 Mon Sep 17 00:00:00 2001 From: salmonik Date: Sat, 28 Feb 2026 17:35:40 +0100 Subject: multi file for both sides --- src/bin/server.rs | 66 ------------------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 src/bin/server.rs (limited to 'src/bin/server.rs') diff --git a/src/bin/server.rs b/src/bin/server.rs deleted file mode 100644 index 215d2ae..0000000 --- a/src/bin/server.rs +++ /dev/null @@ -1,66 +0,0 @@ -use std::io::{BufRead, BufReader, Write}; -use std::net::TcpListener; -use std::thread; - -fn handle_client(stream: std::net::TcpStream) { - println!("Client connected"); - let reader_stream = stream.try_clone().unwrap(); - let reader = BufReader::new(reader_stream); - let mut writer = stream; - for line in reader.lines() { - let line = line.unwrap(); - println!("Received: {}", line); - writeln!(writer, "{}", line).unwrap(); - } - println!("Client disconnected"); -} - -fn main() { - let args: Vec = std::env::args().collect(); - let mut ip = "127.0.0.1".to_string(); - let mut port = 8080; - let mut i = 1; - while i < args.len() { - if args[i] == "-p" { - if i + 1 < args.len() { - port = args[i + 1].parse::().unwrap_or_else(|_| { - eprintln!("Invalid port number: {}", args[i + 1]); - std::process::exit(1); - }); - i += 2; - } else { - eprintln!("-p requires a port number"); - std::process::exit(1); - } - } else if args[i] == "-i" { - if i + 1 < args.len() { - ip = args[i + 1].clone(); - if ip != "127.0.0.1" && ip != "0.0.0.0" { - eprintln!("Invalid IP address: {}. Must be 127.0.0.1 or 0.0.0.0", ip); - std::process::exit(1); - } - i += 2; - } else { - eprintln!("-i requires an IP address"); - std::process::exit(1); - } - } else { - eprintln!("Unknown argument: {}", args[i]); - std::process::exit(1); - } - } - let listener = match TcpListener::bind(format!("{}:{}", ip, port)) { - Ok(l) => l, - Err(e) => { - eprintln!("Failed to bind to {}:{}: {}", ip, port, e); - std::process::exit(1); - } - }; - println!("Server listening on {}", listener.local_addr().unwrap()); - for stream in listener.incoming() { - let stream = stream.unwrap(); - thread::spawn(move || { - handle_client(stream); - }); - } -} -- cgit v1.2.3