Просмотр исходного кода

spawn tcp also for detect local ip for client

open-trade лет назад: 5
Родитель
Сommit
db89aaa5c6
2 измененных файлов с 6 добавлено и 6 удалено
  1. 1 1
      libs/hbb_common
  2. 5 5
      src/rendezvous_server.rs

+ 1 - 1
libs/hbb_common

@@ -1 +1 @@
1
-Subproject commit 56d07b3457150de0caa0d08d17b99ec3d267ef61
1
+Subproject commit ad1f6e2e43210eb073500891ffeb70506ee264dd

+ 5 - 5
src/rendezvous_server.rs

@@ -1,5 +1,5 @@
1
 use hbb_common::{
1
 use hbb_common::{
2
-    bytes::BytesMut, log, protobuf::parse_from_bytes, rendezvous_proto::*, udp::FramedSocket,
2
+    bytes::BytesMut, log, protobuf::parse_from_bytes, rendezvous_proto::*, udp::FramedSocket, tcp::new_listener,
3
     AddrMangle, ResultType,
3
     AddrMangle, ResultType,
4
 };
4
 };
5
 use std::{collections::HashMap, net::SocketAddr};
5
 use std::{collections::HashMap, net::SocketAddr};
@@ -20,15 +20,15 @@ impl RendezvousServer {
20
         let mut rs = Self {
20
         let mut rs = Self {
21
             peer_map: PeerMap::new(),
21
             peer_map: PeerMap::new(),
22
         };
22
         };
23
-        /* // used to test if udp/tcp share the same NAT port, yes in my test
23
+        // used to test if udp/tcp share the same NAT port, yes in my test.
24
+        // also be used to help client to get local ip.
24
         let addr = addr.to_string();
25
         let addr = addr.to_string();
25
         hbb_common::tokio::spawn(async {
26
         hbb_common::tokio::spawn(async {
26
-            let mut l = hbb_common::tokio::net::TcpListener::bind(addr).await.unwrap();
27
+            let mut l = new_listener(addr, true).await.unwrap();
27
             while let Ok((_, addr)) = l.accept().await {
28
             while let Ok((_, addr)) = l.accept().await {
28
-                log::debug!("Tcp peer {:?}", addr);
29
+                log::debug!("Tcp connection from {:?}", addr);
29
             }
30
             }
30
         });
31
         });
31
-        */
32
         while let Some(Ok((bytes, addr))) = socket.next().await {
32
         while let Some(Ok((bytes, addr))) = socket.next().await {
33
             rs.handle_msg(&bytes, addr, &mut socket).await?;
33
             rs.handle_msg(&bytes, addr, &mut socket).await?;
34
         }
34
         }