This commit is contained in:
mattbk
2025-09-29 18:58:31 -05:00
commit de5776eee0
5 changed files with 49 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/target

7
Cargo.lock generated Normal file
View File

@@ -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"

6
Cargo.toml Normal file
View File

@@ -0,0 +1,6 @@
[package]
name = "my_udp_server"
version = "0.1.0"
edition = "2024"
[dependencies]

0
README.md Normal file
View File

35
src/main.rs Normal file
View File

@@ -0,0 +1,35 @@
// UDP server
use std::net::UdpSocket;
fn main() -> std::io::Result<()> {
let socket_result: Result<UdpSocket, std::io::Error> = 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)?;
}
}