From de5776eee003c44f70e71cb01c73ab6edd0c1a46 Mon Sep 17 00:00:00 2001 From: mattbk Date: Mon, 29 Sep 2025 18:58:31 -0500 Subject: [PATCH] Init. --- .gitignore | 1 + Cargo.lock | 7 +++++++ Cargo.toml | 6 ++++++ README.md | 0 src/main.rs | 35 +++++++++++++++++++++++++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 README.md create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..1bf7e66 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "my_udp_server" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..2733c35 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "my_udp_server" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..ee922ef --- /dev/null +++ b/src/main.rs @@ -0,0 +1,35 @@ +// UDP server +use std::net::UdpSocket; + + +fn main() -> std::io::Result<()> { + let socket_result: Result = UdpSocket::bind("127.0.0.1:7878"); + let mut socket: UdpSocket = match socket_result { + Ok(s) => s, + Err(e) => { + println!("Failed to bind socket: {}", e); + return Err(e); + } + }; + + println!("UDP server listening on 127.0.0.1:7878"); + + // Buffer for incoming data (512 bytes) + let mut buffer: [u8; 512] = [0; 512]; + + + loop { + // Receive data from the client + let (bytes_received, src_addr) = socket.recv_from(&mut buffer)?; + println!( + "Received {} bytes from {}: {}", + bytes_received, + src_addr, + String::from_utf8_lossy(&buffer[..bytes_received]) + ); + + + // Echo the data back to the client + socket.send_to(&buffer[..bytes_received], src_addr)?; + } +}