From c79c72f9092cf05237e311993f890472497819aa Mon Sep 17 00:00:00 2001 From: Arthur Beck Date: Tue, 4 Mar 2025 16:22:39 -0600 Subject: [PATCH] Added port argument --- Cargo.toml | 1 + src/main.rs | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index da68dc0..7868770 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,4 +4,5 @@ version = "0.1.0" edition = "2024" [dependencies] +clap = { version = "4.5.31", features = ["derive"] } time = { version = "0.3.37", features = ["formatting", "local-offset"] } diff --git a/src/main.rs b/src/main.rs index 40c9497..1c0fc7e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,6 +6,15 @@ use std::net::{TcpListener, TcpStream}; use std::random; use std::sync::{Arc, Mutex}; use std::thread::{self, JoinHandle, sleep}; +use clap::Parser; + +#[derive(Parser, Debug)] +#[command(version, about, long_about = None)] +struct Args { + /// Port to bind on. + #[arg(short, long, default_value_t = 7867)] + port: u16, +} #[derive(Clone, PartialEq, Eq)] enum UserStatus { @@ -411,7 +420,9 @@ fn handle_client(mut stream: TcpStream, channel: Channel) { } fn main() -> std::io::Result<()> { - let listener = TcpListener::bind("0.0.0.0:7867")?; + let args = Args::parse(); + + let listener = TcpListener::bind(format!("0.0.0.0:{}", args.port))?; let channel: Channel = Arc::new(Mutex::new(UnwrappedChannel { name: "Rawnetchat".to_string(), messages: vec![],