From d7a988e46b7444a9d1aab6ecc93586ae07a764fd Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Mon, 7 Apr 2025 00:22:25 +0200 Subject: [PATCH] bla --- src/main.rs | 57 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 11 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7761d46..babcd0f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,33 +1,68 @@ use clap::Parser; -use std::net::{TcpListener, TcpStream}; +use std::{ + io::{Read, Result, Write}, + net::{TcpListener, TcpStream}, + os::unix::net::SocketAddr, +}; #[derive(Parser, Debug)] #[command(version, about, long_about = None)] struct Args { - #[arg(short, long, default_value_t = 758)] + #[arg(short, long, default_value_t = 1743)] port: u32, #[arg(short, long)] daemon: bool, + // #[arg(long)] + // inst: String, + + // #[arg(long)] + // val: String, } -fn handle_client(stream: TcpStream) { - // ... +fn handle_client(mut stream: TcpStream) { + let mut message: Vec = vec![0; 100]; + if let Ok(m) = stream.read(&mut message[..]) { + if let Ok(s) = String::from_utf8(message) { + println!("{}", s); + } + } } fn main() -> std::io::Result<()> { - let listener = TcpListener::bind("127.0.0.1:758")?; - let args = Args::parse(); - println!("Daemon enabled: {}", args.daemon); - if args.daemon { - println!("Listening on port: {}", args.daemon); - } + if args.daemon {} + + let is_daemon = args.daemon; + println!("Daemon enabled: {}", is_daemon); + + if is_daemon { + println!("Listening on port: {}", args.port); + run_daemon(args.port); + } else { + lower_volume(args.port); + } + Ok(()) +} + +fn run_daemon(port: u32) -> Result<()> { + let address = format!("127.0.0.1:{}", port); + let listener = TcpListener::bind(address)?; - // accept connections and process them serially for stream in listener.incoming() { handle_client(stream?); } Ok(()) } + +fn lower_volume(port: u32) { + let address = format!("127.0.0.1:{}", port); + if let Ok(mut stream) = TcpStream::connect(address) { + println!("Connected!"); + let _ = stream.write_all(b"Remote Message!"); + } else { + println!("Could not connect!"); + } + println!("Lowering Volume"); +}