From 8ff1162897acc9a393f41edf9faf5593d6c66995 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Mon, 25 Aug 2025 12:33:03 +0200 Subject: Replace JS with rust --- src/main.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main.rs (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..d6908cb --- /dev/null +++ b/src/main.rs @@ -0,0 +1,41 @@ +mod configuration; +mod renderer; +mod screen; +mod telnet; + +use configuration::Configuration; +use telnet::handle_client; + +use std::io::Result; +use std::net::TcpListener; +use std::thread; + +/// Spawns a server and hands over the connection to the telnet client handler. +fn main() -> Result<()> { + let configuration = Configuration::new(); + + let listener = TcpListener::bind(&configuration.address)?; + eprintln!( + "Server is now listening on address {}", + configuration.address + ); + + for stream in listener.incoming() { + match stream { + Ok(stream) => { + thread::spawn(move || { + if let Err(error) = + handle_client(stream, configuration.frequency, configuration.modulation) + { + eprintln!("Error handling client: {error}"); + } + }); + } + Err(error) => { + eprintln!("Connection failed: {error}"); + } + } + } + + Ok(()) +} -- cgit