mod connection;
use std::{env, io::Result, net::TcpListener, thread};
fn main() -> Result<()> {
let address = format!(
"{}:{}",
env::args().nth(1).unwrap(), env::args().nth(2).unwrap()
);
let listener = TcpListener::bind(&address)?;
println!("server listening on {}", address);
for stream in listener.incoming() {
match stream {
Ok(stream) => {
println!("new client connected: {}", stream.peer_addr()?);
thread::spawn(|| {
connection::handle(stream);
});
}
Err(e) => {
eprintln!("failed to accept connection: {}", e);
}
}
}
Ok(())
}