如何解决OSError:[WinError 10022]提供了无效的参数流程以退出代码1完成
我正在跟踪教程,并被卡在这里。当我第一次运行相同的代码时,一切顺利。但是从第二次起,它在同一代码中显示错误。我重新启动计算机,然后又运行了一次,从第二次开始,它再次显示错误。
#代码:
import socket
from _thread import *
import sys
server = "192.168.0.102"
port = 5555
s = socket.socket(socket.AF_INET,socket.soCK_STREAM)
try:
s.bind((server,port))
except socket.error as e:
str(e)
s.listen(2)
print("Waiting for a connection,Server Started")
def read_pos(str):
str = str.split(",")
return int(str[0]),int(str[1])
def make_pos(tup):
return str(tup[0]) + "," + str(tup[1])
pos = [(0,0),(100,100)]
def threaded_client(conn,player):
conn.send(str.encode(make_pos(pos[player])))
reply = ""
while True:
try:
data = read_pos(conn.recv(2048).decode())
pos[player] = data
if not data:
print("disconnected")
break
else:
if player == 1:
reply = pos[0]
else:
reply = pos[1]
print("Received : ",data)
print("Sending: ",reply)
conn.sendall(str.encode(make_pos(reply)))
except:
break
print("Lost Connection")
conn.close()
currentPlayer = 0
while True:
conn,addr = s.accept()
print("Connected to : ",addr)
start_new_thread(threaded_client,(conn,currentPlayer))
currentPlayer += 1
解决方法
尝试使用其他IP地址。当我使用127.0.0.1
这是本地计算机时,代码可以正常工作。
server = "127.0.0.1"
port = 5555
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。