O错误:[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

最新更新