Compare commits

..

No commits in common. "e09469d562303539fe3a51c3cb4bc3691e9496dc" and "7825a2e8831bac5c167cc7ee2c05130de8074864" have entirely different histories.

View File

@ -1,25 +1,43 @@
use std::env;
use std::io::Write;
use std::net::UdpSocket;
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";
fn main() -> std::io::Result<()> {
let addr = match env::args().nth(1) {
Some(x) => x,
None => {
println!("Error no address");
return Ok(());
//println!("Hello, world!");
//println!("str: {}", REQUEST);
//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 mut stdout = std::io::stdout();
let socket = UdpSocket::bind(addr)?;
let mut buf = [0_u8; 1024];
while let Ok((n_recv, _src)) = socket.recv_from(&mut buf) {
stdout.write_all(&buf[..n_recv])?;
println!("{}", current_line);
current_line.clear();
}
//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(())
}