Я запускаю этот серверный код в коде Visual Studio для серверного проекта:
import socket
from _thread import *
import sys
server = "192.168.0.4"
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 connections...")
print("Server Started!")
def threaded_client(conn):
conn.send(str.encode("Connected"))
reply = ""
while True:
try:
data = conn.recv(2048)
reply = data.decode("utf-8")
if not data:
print("Disconnected!")
break
else:
print("Received: ", reply)
print("Sending: ", reply)
conn.sendall(str.encode(reply))
except:
break
print("Lost Connection!")
conn.close()
while True:
conn, addr = s.accept()
print("Connected to: ", addr)
start_new_thread(threaded_client, (conn,))
И почему-то получаю вот такую ошибку:
Traceback (most recent call last):
File "c:/Users/sande/Desktop/Vihaan/ThirdPartySoftware/Python/VisualStudiosCode/RPSOnline/server.py", line 16, in <module>
s.listen(2)
OSError: [WinError 10022] An invalid argument was supplied
Пожалуйста, помогите мне, почему это происходит. Я попытался переписать код, но это не сработало.
str(e)
собирается делать в обработчике исключений, вместо этого вы можете захотетьprint(e)
. Если привязка не удалась, прослушивание также произойдет. - person paxdiablo   schedule 05.11.2020