Я получаю [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»