From 7825a2e8831bac5c167cc7ee2c05130de8074864 Mon Sep 17 00:00:00 2001 From: Lucas Schumacher Date: Mon, 27 Nov 2023 15:11:56 -0500 Subject: [PATCH] first commit --- .gitignore | 1 + Cargo.lock | 14 ++++++++++++++ Cargo.toml | 9 +++++++++ src/main.rs | 43 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml 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..db5a0e8 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,14 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aisdump" +version = "0.1.0" +dependencies = [ + "nmea-ais", +] + +[[package]] +name = "nmea-ais" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..a2bc100 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "aisdump" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +nmea-ais = { version = "0.1.0", path = "../nmea-ais" } diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..5764608 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,43 @@ +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<()> { + //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; + } + 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(()) +}