about summary refs log tree commit diff
path: root/skim-cli/src/main.rs
blob: af2bbd51d44bb346c239e3f2e8aa2fae4f28b622 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use std::{
	io::{Read, Write},
	net::TcpStream,
};

fn main() {
	let mut tcp = TcpStream::connect("127.0.0.1:6666").unwrap();

	let query = r#"{"tcp": [80, 443], "udp":[53]}"#;
	let len = query.len() as u32;

	tcp.write_all(&len.to_be_bytes()).unwrap();
	tcp.write_all(query.as_bytes()).unwrap();

	let mut size_bytes = [0u8; 4];
	tcp.read_exact(&mut size_bytes).unwrap();
	let size = u32::from_be_bytes(size_bytes);
	let mut response = vec![0; size as usize];
	tcp.read_exact(&mut response).unwrap();

	println!("{}", unsafe { String::from_utf8_unchecked(response) });
}