Skip to content

Commit 4262b98

Browse files
committed
有未识别或者错误的NAT类型则启用转发模式, 未测试
1 parent 17d0262 commit 4262b98

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

client.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
RestrictNAT = "Restrict NAT" # 1
1414
RestrictPortNAT = "Restrict Port NAT" # 2
1515
SymmetricNAT = "Symmetric NAT" # 3
16-
NATTYPE = (FullCone, RestrictNAT, RestrictPortNAT, SymmetricNAT)
16+
UnknownNAT = "Unknown NAT" # 4
17+
NATTYPE = (FullCone, RestrictNAT, RestrictPortNAT, SymmetricNAT, UnknownNAT)
1718

1819

1920
def bytes2addr(bytes):
@@ -76,7 +77,7 @@ def recv_msg(self, sock, is_restrict=False, event=None):
7677
data, addr = sock.recvfrom(1024)
7778
if addr == self.target or addr == self.master:
7879
sys.stdout.write(data)
79-
if data == "punching...\n":
80+
if data == "punching...\n": # peer是restrict
8081
sock.sendto("end punching", addr)
8182

8283
def send_msg(self, sock):
@@ -137,6 +138,11 @@ def main(self, test_nat_type=None):
137138
self.request_for_connection(nat_type_id=NATTYPE.index(nat_type))
138139
except ValueError:
139140
print("NAT type is %s" % nat_type)
141+
self.request_for_connection(nat_type_id=4) # Unknown NAT
142+
143+
if nat_type == UnknownNAT or self.peer_nat_type == UnknownNAT:
144+
print("Symmetric chat mode")
145+
self.chat_symmetric()
140146
if nat_type == SymmetricNAT or self.peer_nat_type == SymmetricNAT:
141147
print("Symmetric chat mode")
142148
self.chat_symmetric()

server.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
RestrictNAT = "Restrict NAT" # 1
1111
RestrictPortNAT = "Restrict Port NAT" # 2
1212
SymmetricNAT = "Symmetric NAT" # 3
13-
NATTYPE = (FullCone, RestrictNAT, RestrictPortNAT, SymmetricNAT)
14-
13+
UnknownNAT = "Unknown NAT" # 4
14+
NATTYPE = (FullCone, RestrictNAT, RestrictPortNAT, SymmetricNAT, UnknownNAT)
1515

1616
def addr2bytes(addr, nat_type_id):
1717
"""Convert an address pair to a hash."""

0 commit comments

Comments
 (0)