我的服务器(监听)如下:
import os
from socket import *
host = ""
port = 1337
buf = 1024
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
UDPSock.bind(addr)
print("Waiting to receive messages...")
while True:
(data, addr) = UDPSock.recvfrom(buf)
data=data.decode('ascii')
print("Received message: " + data)
if data == "exit":
break
UDPSock.close()
os._exit(0)
我的客户是
import os
from socket import *
host = "MY INTERNET IP"
port = 1337
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
while True:
data = input("Enter message to send or type 'exit': ")
data=data.encode('ascii')
UDPSock.sendto(data, addr)
if data == "exit":
break
UDPSock.close()
os._exit(0)
所以我需要知道,我如何通过互联网传输这些消息?我已经在我的网络上打开了所有端口,但在尝试这样做时我无法收到任何消息。我的服务器正在侦听端口1337,我的客户端正在传输到MY INTERNET IP,服务器正在侦听它正在传输的端口。所以我该如何让这个工作,我做错了什么?事情是,它在做lan时起作用。它很舒适,但非常无意义,因为我想通过网络传输文本
修改
让我的朋友运行客户端。 Python刚刚返回4。 我身上什么也没发生。