Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python套接字:WinError 10022_Python_Sockets_Python 3.x_Pickle_Recvfrom - Fatal编程技术网

Python套接字:WinError 10022

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上,

几年前,我用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上,这仍然可以正常工作。但是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))