summaryrefslogtreecommitdiffstats
path: root/src/bin/server/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/server/main.rs')
-rw-r--r--src/bin/server/main.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/bin/server/main.rs b/src/bin/server/main.rs
new file mode 100644
index 0000000..7693069
--- /dev/null
+++ b/src/bin/server/main.rs
@@ -0,0 +1,24 @@
1mod args;
2mod handler;
3mod database;
4
5use std::net::TcpListener;
6use std::thread;
7
8fn main() {
9 let args = args::parse_args();
10 let listener = match TcpListener::bind(format!("{}:{}", args.ip, args.port)) {
11 Ok(l) => l,
12 Err(e) => {
13 eprintln!("Failed to bind to {}:{}: {}", args.ip, args.port, e);
14 std::process::exit(1);
15 }
16 };
17 println!("Server listening on {}", listener.local_addr().unwrap());
18 for stream in listener.incoming() {
19 let stream = stream.unwrap();
20 thread::spawn(move || {
21 handler::handle_client(stream);
22 });
23 }
24}