OSError: [WinError 10022] В socket.listen(2) указан неверный аргумент.

Я запускаю этот серверный код в коде 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

Пожалуйста, помогите мне, почему это происходит. Я попытался переписать код, но это не сработало.


person Viharo    schedule 05.11.2020    source источник
comment
Не уверен, что, по вашему мнению, str(e) собирается делать в обработчике исключений, вместо этого вы можете захотеть print(e). Если привязка не удалась, прослушивание также произойдет.   -  person paxdiablo    schedule 05.11.2020
comment
Возможный дубликат stackoverflow.com/questions/43330897/   -  person tripleee    schedule 05.11.2020
comment
Спасибо. Разобрался с ошибкой. Спасибо paxdiablo за помощь!!   -  person Viharo    schedule 05.11.2020