From db89aaa5c6161b290a22f7e6d04a1323fb3d081d Mon Sep 17 00:00:00 2001 From: open-trade Date: Thu, 12 Mar 2020 20:07:25 +0800 Subject: [PATCH] spawn tcp also for detect local ip for client --- libs/hbb_common | 2 +- src/rendezvous_server.rs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/hbb_common b/libs/hbb_common index 56d07b3..ad1f6e2 160000 --- a/libs/hbb_common +++ b/libs/hbb_common @@ -1 +1 @@ -Subproject commit 56d07b3457150de0caa0d08d17b99ec3d267ef61 +Subproject commit ad1f6e2e43210eb073500891ffeb70506ee264dd diff --git a/src/rendezvous_server.rs b/src/rendezvous_server.rs index db95f4f..9a47305 100644 --- a/src/rendezvous_server.rs +++ b/src/rendezvous_server.rs @@ -1,5 +1,5 @@ use hbb_common::{ - bytes::BytesMut, log, protobuf::parse_from_bytes, rendezvous_proto::*, udp::FramedSocket, + bytes::BytesMut, log, protobuf::parse_from_bytes, rendezvous_proto::*, udp::FramedSocket, tcp::new_listener, AddrMangle, ResultType, }; use std::{collections::HashMap, net::SocketAddr}; @@ -20,15 +20,15 @@ impl RendezvousServer { let mut rs = Self { peer_map: PeerMap::new(), }; - /* // used to test if udp/tcp share the same NAT port, yes in my test + // used to test if udp/tcp share the same NAT port, yes in my test. + // also be used to help client to get local ip. let addr = addr.to_string(); hbb_common::tokio::spawn(async { - let mut l = hbb_common::tokio::net::TcpListener::bind(addr).await.unwrap(); + let mut l = new_listener(addr, true).await.unwrap(); while let Ok((_, addr)) = l.accept().await { - log::debug!("Tcp peer {:?}", addr); + log::debug!("Tcp connection from {:?}", addr); } }); - */ while let Some(Ok((bytes, addr))) = socket.next().await { rs.handle_msg(&bytes, addr, &mut socket).await?; }