From 22b0f9037b91e1fe1b91be0bd6402130a18c7960 Mon Sep 17 00:00:00 2001 From: Lucas Schumacher Date: Mon, 27 Nov 2023 15:45:44 -0500 Subject: [PATCH] switch to udp connection --- src/main.rs | 49 ++++++++++++++----------------------------------- 1 file changed, 14 insertions(+), 35 deletions(-) diff --git a/src/main.rs b/src/main.rs index 5764608..8cfb5a2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,43 +1,22 @@ -use std::io::{BufRead, BufReader}; -use std::net::TcpStream; - -//const REQUEST: &str = "GET /sse HTTP/1.1\x0d\x0aHost: 192.168.1.10:8100\x0d\x0aUser-Agent: curl/8.4.0\x0d\x0aAccept: */*\x0d\x0a\x0d\x0a"; +use std::io::Write; +use std::net::UdpSocket; fn main() -> std::io::Result<()> { - //println!("Hello, world!"); - //println!("str: {}", REQUEST); + let mut stdout = std::io::stdout(); - //let mut stdout = std::io::stdout(); - - let stream = TcpStream::connect("192.168.1.10:10110")?; - //let mut buffer = vec![0_u8; 1024]; - let mut buffer = BufReader::new(stream); - - let mut current_line = String::new(); - while let Ok(n) = buffer.read_line(&mut current_line) { - if n == 0 { - break; + let socket = match UdpSocket::bind("192.168.1.244:10112") { + Ok(socket) => socket, + Err(e) => { + println!("No bind! {}", e.to_string()); + return Err(e); } - println!("{}", current_line); - current_line.clear(); + }; + + let mut buf = [0_u8; 1024]; + + while let Ok((n_recv, _src)) = socket.recv_from(&mut buf) { + stdout.write_all(&buf[..n_recv])?; } - //stream.write_all(REQUEST.as_bytes())?; - - //let header_end = u32::from_ne_bytes(*b"\r\n\r\n"); - //while let Ok(n) = stream.read(&mut buffer[4..]) { - // stdout.write_all(&buffer[4..4 + n])?; - //for i in (0..n).into_iter().step_by(2) { - // for i in 0..n { - // let value = u32::from_ne_bytes(buffer[i..i + 4].try_into().unwrap()); - // if value == header_end { - // buffer.copy_within(i + 4..n, 0); - // break; - // } - // } - // buffer.copy_within(n..n + 4, 0); - //} - //stream.read(&mut buffer) - Ok(()) }