1

数年前、私は 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 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
4

1 に答える 1

1

を呼び出す前にソケットにバインドする必要があると思いますsock.recvfrom(1024)

sock.bind((YOUR_IP, PORT))
于 2015-04-03T08:57:18.130 に答える