我知道要通过Internet连接到套接字,必须在路由器中启用端口转发。但是,我不知道即时通讯程序(例如Whatsapp)如何在不进行端口转发的情况下工作?我试图连接到另一台设备,但是失败了,将主机设置为0.0.0.0,端口设置为1803,它可以在LAN上完美运行,但不能在Internet上运行。
请帮助?
编辑:我的代码:
import socket,sys
server_socket = socket.socket()
host = socket.gethostname()
port = 1803
server_socket.bind((host, port))
server_socket.listen(1)
while True:
client, address = server_socket.accept()
received_data = client.recv(1024).decode('ascii')
print(received_data)
sending_data = input('>').encode('ascii')
client.send(sending_data)
server_socket.close()
break
sys.exit()