Compare commits
2 Commits
f36772d9e5
...
b654f2db36
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b654f2db36 | ||
![]() |
3698b82dd8 |
@ -1,3 +1,10 @@
|
|||||||
|
<<<<<<< HEAD
|
||||||
|
use std::{
|
||||||
|
io::{BufReader, Read},
|
||||||
|
net::TcpStream,
|
||||||
|
};
|
||||||
|
=======
|
||||||
|
>>>>>>> f36772d9e5c0507015de02b8c71ff25d84789b98
|
||||||
|
|
||||||
const KEYLENGTH: u8 = 32;
|
const KEYLENGTH: u8 = 32;
|
||||||
|
|
||||||
@ -62,34 +69,41 @@ impl Message {
|
|||||||
vec
|
vec
|
||||||
}
|
}
|
||||||
|
|
||||||
fn recive(input: Vec<u8>) -> Message {
|
fn recive(stream: TcpStream) -> Message {
|
||||||
let byte1 = input.get(0).expect("Fail to Read Byte 1");
|
let buffreader = BufReader::new(stream);
|
||||||
let byte2 = input.get(1).expect("Fail to Read Byte 2");
|
let mut byte_iterator = buffreader.bytes();
|
||||||
let byte3 = input.get(2).expect("Fail to Read Byte 3");
|
let byte1 = byte_iterator.next().unwrap().unwrap();
|
||||||
let byte4 = input.get(3).expect("Fail to Read Byte 4");
|
let byte2 = byte_iterator.next().unwrap().unwrap();
|
||||||
|
let byte3 = byte_iterator.next().unwrap().unwrap();
|
||||||
|
let byte4 = byte_iterator.next().unwrap().unwrap();
|
||||||
|
|
||||||
let src_id: u32 =
|
let src_id: u32 =
|
||||||
(byte1 << 24) as u32 | (byte2 << 16) as u32 | (byte3 << 8) as u32 | (byte4 << 0) as u32;
|
(byte1 << 24) as u32 | (byte2 << 16) as u32 | (byte3 << 8) as u32 | (byte4 << 0) as u32;
|
||||||
|
|
||||||
let byte5 = input.get(5).expect("Fail to Read Byte 5");
|
let byte5 = byte_iterator.next().unwrap().unwrap();
|
||||||
let byte6 = input.get(6).expect("Fail to Read Byte 6");
|
let byte6 = byte_iterator.next().unwrap().unwrap();
|
||||||
let byte7 = input.get(7).expect("Fail to Read Byte 7");
|
let byte7 = byte_iterator.next().unwrap().unwrap();
|
||||||
let byte8 = input.get(8).expect("Fail to Read Byte 8");
|
let byte8 = byte_iterator.next().unwrap().unwrap();
|
||||||
|
|
||||||
let dest_id: u32 =
|
let dest_id: u32 =
|
||||||
(byte5 << 24) as u32 | (byte6 << 16) as u32 | (byte7 << 8) as u32 | (byte8 << 0) as u32;
|
(byte5 << 24) as u32 | (byte6 << 16) as u32 | (byte7 << 8) as u32 | (byte8 << 0) as u32;
|
||||||
|
|
||||||
let byte9 = input.get(9).expect("Fail to Read byte 9");
|
let byte9 = byte_iterator.next().unwrap().unwrap();
|
||||||
let byte10 = input.get(10).expect("Fail to Read byte 10");
|
let byte10 = byte_iterator.next().unwrap().unwrap();
|
||||||
|
|
||||||
let size = (byte9 << 8) as u16 | (byte10 << 0) as u16;
|
let size = (byte9 << 8) as u16 | (byte10 << 0) as u16;
|
||||||
assert!(size > 0, "Ungültige size größe size = {}", size);
|
assert!(size > 0, "Ungültige size größe size = {}", size);
|
||||||
|
|
||||||
|
let mut payload = Vec::<u8>::new();
|
||||||
|
for i in 0..size {
|
||||||
|
payload.push(byte_iterator.next().unwrap().unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
Message {
|
Message {
|
||||||
src_id: src_id,
|
src_id: src_id,
|
||||||
dest_id: dest_id,
|
dest_id: dest_id,
|
||||||
size: size,
|
size: size,
|
||||||
payload: (&input[11..]).to_vec(),
|
payload: payload,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Methoden der Klasse
|
// Methoden der Klasse
|
||||||
|
Loading…
x
Reference in New Issue
Block a user