diff --git a/src/main.rs b/src/main.rs index 329cd8f..c50912d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,23 +3,22 @@ use std::io::stdin; fn main() { let server_address: String = get_server_address(); - listen(server_address); + listen(&server_address); } fn get_server_address() -> String { println!("Enter server address (format xxx.xxx.xxx.xxx:port)"); let mut server_address = String::new(); stdin().read_line(&mut server_address).expect("Reading the server address from input"); - server_address = String::from(server_address.trim()); - return server_address; + return server_address.trim().to_string(); } -fn listen(server_address: String) { +fn listen(server_address: &str) { println!("listening on {}", server_address); loop { let mut message: String = String::new(); let mut buf: [u8; 1024] = [0; 1024]; - let socket: UdpSocket = UdpSocket::bind(server_address.clone()).expect("Error while binding the socket."); + let socket: UdpSocket = UdpSocket::bind(server_address).expect("Error while binding the socket."); let (num_bytes, src_addr) = socket.recv_from(&mut buf).expect("Error while receiving message"); message.push_str(std::str::from_utf8(&buf[..num_bytes]).expect("Invalid UTF-8 data")); println!("{}:{}", src_addr.to_string(), message); @@ -28,4 +27,4 @@ fn listen(server_address: String) { return; } } -} \ No newline at end of file +}