blob: 2c6e1dca2e6c85e520121fd5076f6f6b64ad8f55 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
mod args;
mod handler;
use std::net::TcpListener;
use std::thread;
fn main() {
let args = args::parse_args();
let listener = match TcpListener::bind(format!("{}:{}", args.ip, args.port)) {
Ok(l) => l,
Err(e) => {
eprintln!("Failed to bind to {}:{}: {}", args.ip, args.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 || {
handler::handle_client(stream);
});
}
}
|