message handling and serv registration

This commit is contained in:
2025-12-30 20:18:18 +01:00
parent ced0c992e7
commit cc09fab16d
6 changed files with 178 additions and 39 deletions

View File

@@ -47,7 +47,10 @@ impl MultipleSenders {
for msg in rx {
// Use the cloned Arc inside the thread
if let Err(e) = sock_clone.send_to(&msg.payload, &msg.address) {
eprintln!("Erreur d'envoi sur canal {}: {}", i, e);
eprintln!(
"Erreur d'envoi sur canal {}: {}, address: {}",
i, e, &msg.address
);
} else {
let message_id: [u8; 4] = msg.payload[0..4].try_into().expect("size error");
let id = i32::from_be_bytes(message_id);
@@ -85,6 +88,7 @@ impl MultipleSenders {
let sock_clone = Arc::clone(socket);
let cryptopair_clone = Arc::clone(crypto_pair);
let senders_clone = Arc::clone(senders);
let messages_clone = Arc::clone(messages_list);
thread::spawn(move || {
let mut buf = [0u8; 1024];
@@ -123,9 +127,9 @@ pub fn start_receving_thread(
loop {
match sock_clone.recv_from(&mut buf) {
Ok((amt, src)) => {
// Only send the part of the buffer that contains data
let received_data = buf[..amt].to_vec();
println!("Reçu {} octets de {}: {:?}", amt, src, received_data);
handle_recevied_message(
&messages_clone,
&received_data,
@@ -133,7 +137,6 @@ pub fn start_receving_thread(
&socket_addr,
&senders_clone,
);
println!("Reçu {} octets de {}: {:?}", amt, src, received_data);
}
Err(e) => eprintln!("Erreur de réception: {}", e),
}