Я получаю [WinError 10022] Был указан недопустимый аргумент. из моего кода на стороне клиента udp проблема возникает толPython

Программы на Python
Anonymous
Я получаю [WinError 10022] Был указан недопустимый аргумент. из моего кода на стороне клиента udp проблема возникает тол

Сообщение Anonymous »

У меня есть два клиентских приложения Python и еще одна серверная
клиентская сторона
import socket
import threading

UDP_IP = '127.0.0.1'
UDP_PORT = 56780

client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

nickname = input("Enter Nickname: ")
def write():
while True:
print("hello")
message = f"{nickname} -> {input()}"
client_socket.sendto(message.encode(), (UDP_IP, UDP_PORT))

def receive():
while True:
try:
message, _ = client_socket.recvfrom(1024)
print(message.decode())
except Exception as e:
print(e)
break

write_thread = threading.Thread(target=write)
write_thread.start()

receive_thread = threading.Thread(target=receive)
receive_thread.start()

серверная часть
import socket

HOST = '127.0.0.1'
PORT = 56780

server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind((HOST, PORT))

clients = set()

def broadcast(message):
for client in clients:
server_socket.sendto(message, client)

def receive():
print("UDP Chat Server is running...")
while True:
try:
message, client_address = server_socket.recvfrom(1024)
if client_address not in clients:
clients.add(client_address)
print(f"Connected With {str(client_address)}")
broadcast(message)
except:
clients.remove(client_address)
receive()

Ошибка, с которой я столкнулся, возникает из-за клиентского приложения, в частности из

def receive():
while True:
try:
message, _ = client_socket.recvfrom(1024)
print(message.decode())
except Exception as e:
print(e)
break


ошибка: [WinError 10022] Был указан недопустимый аргумент
эта ошибка возникает только в моей системе Windows, а на моем Mac код, кажется, работает точно так, как должен
Я пробовал разные порты, чтобы проверить, работает ли какой-либо из них, но я не причинил вреда тому, что
я получаю ошибку, когда пытаюсь привязать эту часть кода к своему серверу, но я не могу понять почему и как это исправить
message, _ = client_socket.recvfrom(1024)


Подробнее здесь: https://stackoverflow.com/questions/790 ... y-udp-clie

Вернуться в «Python»