我正在尝试用Python构建一个多线程UDP服务器,它如下所示:
import socket
import threading
class udpreceive:
def __init__(self, port, ip):
self.port = port
self.ip = ip
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
def start(self):
while True:
data, addr = self.sock.recvfrom(2048)
print(data)
s1 = udpreceive(514, "192.168.1.5")
s2 = udpreceive(515, "192.168.1.5")
threads = [threading.Thread(target=s1.start), threading.Thread(target=s2.start)]
for th in threads:
th.start()
print(f'threads {th} started')
th.join(0.1)
我得到这个错误: data, addr = self.sock.recvfrom(2048) OSError: [WinError 10022] An invalid argument was supplied
有什么问题吗?我已经坚持了好几个小时了
这是客户端:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
counter = 0
while True:
send_data = "Client number" + str(counter)
s.sendto(send_data.encode(), ('127.0.0.1', 777))
print(send_data)
counter += 1
目前没有回答
相关问题 更多 >
编程相关推荐