message handling and serv registration
This commit is contained in:
@@ -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),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user