Ошибка в моем сервере на Python
Я пишу игру на Python 3.8 с изпользованием библиотеки Pygame. Писал сервер с использованием библиотек socket и threading Хотя айпи и порт указан правильно, сервер не хочет запускатся, выдаёт ошибку [WinError 10022] An invalid argument was supplied. У меня есть переменная self.conencted, которая обозначает, запустился ли сервер. Она почему-то ставится на true Вот код моего класса:
class Server(Thread):
def __init__(self, name, identifier, ip, port):
self.ip = ip
self.port = port
Thread.__init__(self)
self.name = name
self.id = identifier
self.connected = False
self.tosend = None
self.data = None
self.conn = None
self.addr = None
self.alive = True
self.s = socket.socket()
self.s.setblocking(False)
def connect(self):
timer = 0
starttimer = time.perf_counter()
self.connected = False
while timer < 5:
try:
self.s.bind((self.ip, self.port))
self.connected = True
print('LOG: Started server!')
except socket.error as e:
print('LOG: ERROR:', e)
timer = time.perf_counter() - starttimer
def getdata(self):
toreturn = self.data
self.data = None
return toreturn
def isConnected(self):
return self.connected
def send(self, data):
self.tosend = data
def setAlive(self, b):
self.alive = b
def getAlive(self):
return self.alive
def run(self):
print('LOG: Binding server...')
self.connect()
if self.connected:
self.s.listen(1)
while self.alive:
try:
self.conn, self.addr = self.s.accept()
print("LOG: NEW CONNECTION:", self.conn, self.addr)
break
except socket.error:
pass
while self.alive:
try:
self.data = self.conn.recv(16384).decode('utf-8')
except socket.error:
pass
try:
if self.tosend is not None:
self.conn.send(self.tosend.encode('utf-8'))
self.tosend = None
except socket.error:
pass
Если нужны дополнительные файлы, вот мой репозиторий на GitHub Прошу помочь, хотел сделать свою игру, все получалось, но тут этот баг, целый день просидел, ничего не могу понять.