Python 2.7 Python UDP网络套接字。错误:[错误号10049]
我正试图建立一个简单的UDP连接使用Python代码,两台电脑之间通过互联网。 在PC_1上运行的代码:Python 2.7 Python UDP网络套接字。错误:[错误号10049],python-2.7,networking,udp,Python 2.7,Networking,Udp,我正试图建立一个简单的UDP连接使用Python代码,两台电脑之间通过互联网。 在PC_1上运行的代码: import socket import time HOST = "ip_address_of_PC2" PORT = 5555 data = "Hello World!!" s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: s.sendto(data, (HOST, PORT)) prin
import socket
import time
HOST = "ip_address_of_PC2"
PORT = 5555
data = "Hello World!!"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
s.sendto(data, (HOST, PORT))
print "sent: ",data
time.sleep(1)
在第二台电脑上运行的代码:
import socket
HOST = "ip_address_of_PC1"
PORT = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST,PORT))
while True:
print s.recv(30)
在第二台PC上运行代码时,我收到以下错误消息:
return getattr(self._sock,name)(*args)
socket.error: [Errno 10049] The requested address is not valid in its context
将打印s.recv(30)更改为:
data, addr = s.recvfrom(30)
print data
在第二个PC代码中,主机变量需要第二个PC ip的值,而不是第一个:
HOST = "ip_address_of_PC2"
在PC1上运行的代码:
import socket
import time
HOST = "public ip_address_of_PC2"
PORT = 5555
data = "Hello World!!"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
s.sendto(data, (HOST, PORT))
print "sent: ",data
time.sleep(1)
在PC2上运行的代码:
import socket
HOST = "private ip_address_of_PC2"
PORT = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST,PORT))
while True:
print s.recv(30)
将PC2的主机变量更改为PC2的专用ipv4地址,并将PC1的主机变量更改为PC2的公用ipv4地址时,该功能正常工作。