diff --git a/client-network/src/lib.rs b/client-network/src/lib.rs index 8d8ab26..e828b67 100644 --- a/client-network/src/lib.rs +++ b/client-network/src/lib.rs @@ -317,23 +317,30 @@ pub fn start_p2p_executor( let peer_addr_query = get_socket_address(username.clone(), ip.clone()); match server_addr_query.await { - Some(server_addr) => { - let natreq = construct_message( - NATTRAVERSALREQUEST, - ip.to_string().into_bytes(), - 8, - &sd.cryptopair(), - ); + Some(server_addr) => match peer_addr_query.await { + Some(peer_addr) => { + let natreq = construct_message( + NATTRAVERSALREQUEST, + peer_addr.to_string().into_bytes(), + 8, + &sd.cryptopair(), + ); - sd.senders_ref().send_via( - 0, - natreq.expect( - "couldnt construct message nattraversalrequest2", - ), - server_addr.to_string(), - false, - ); - } + sd.senders_ref().send_via( + 0, + natreq.expect( + "couldnt construct message nattraversalrequest2", + ), + server_addr.to_string(), + false, + ); + } + None => { + let err_msg = format!("failed to retreive socket address") + .to_string(); + let res = event_tx.send(NetworkEvent::Error(err_msg)); + } + }, None => { let err_msg = format!("failed to retreive socket address").to_string();