Python套接字:WinError 10022
几年前,我用Python 3编写了一个聊天程序,在Windows和Mac上一切都很好,直到现在。此函数在另一个脚本中执行:Python套接字:WinError 10022,python,sockets,python-3.x,pickle,recvfrom,Python,Sockets,Python 3.x,Pickle,Recvfrom,几年前,我用Python 3编写了一个聊天程序,在Windows和Mac上一切都很好,直到现在。此函数在另一个脚本中执行: import socket import pickle def get(sock): data, addr = sock.recvfrom(1024) data = pickle.loads(data) #to convert data back to a dictionary return data, addr 在Mac上,
import socket
import pickle
def get(sock):
data, addr = sock.recvfrom(1024)
data = pickle.loads(data) #to convert data back to a dictionary
return data, addr
在Mac上,这仍然可以正常工作。但是Windows抛出了一个错误:
File "C:\Users\...\network.py", line 15, in get
data, addr = sock.recvfrom(1024)
OSError: [WinError 10022] An invalid argument was supplied
有什么问题吗
编辑:
我认为在调用
sock.recvfrom(1024)
之前必须绑定到套接字
如何定义sock?sock=socket.socket(socket.AF_INET,socket.sock_DGRAM)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((YOUR_IP, PORT))