Почему я получаю такую ошибку? "[WinError 10022] Получен недопустимый аргумент"

Пытаюсь реализовать чат между клиентом и сервером по протоколу udp с использованием модулей socket и threading, но получаю ошибку "[WinError 10022] Получен недопустимый аргумент". Подскажите в чем проблема? Я уже реализовывал этот код без применения ООП и все работало.

class Client:
    def __init__(self):
        self.client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        print("Client connection")

    def set_up(self):
        send_thread = Thread(target=self.send_data)
        send_thread.start()

        listen_thread = Thread(target=self.listen_server)
        listen_thread.start()

    def send_data(self):
        while True:
            msg = input("Введите сообщение:  ").encode("utf-8")
            self.client.sendto(msg, ("127.0.0.1", 9099))
            if msg.decode("utf-8") == 'q':
                print("Вы акончили чат!")
                break

    def listen_server(self):
        while True:
            back_msg = self.client.recv(1024).decode("utf-8")  # receive data from client
            print("Полученное сообщение: ", back_msg)


if __name__ == '__main__':
    client = Client()
    client.set_up()

Ответы (0 шт):