OSError: [WinError 10057] Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied
При написании сервера на Python возникает ошибка с подключением.
Вот код:
Server
import socket
import json
file = open("configs.json", "r").read()
configs = json.loads(file)
name = configs["server-name"]
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("127.0.0.1",int(configs["port"])))
server.listen(5)
while True:
client, address = server.accept()
data = server.recv(1024).decode("utf-8")
client.send("Welcome to {0}!".format(name))
print(data)
Client
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("127.0.0.1", 25565))
while True:
data = client.recv(1024)
data = data.decode("utf-8")
print(data)
В конфиге указан правильный адрес и порт. При старте клиента в сервере возникает следующая ошибка:
Traceback (most recent call last):
File "C:\Users\User\Desktop\MyWebServer\Server.py", line 12, in <module>
data = server.recv(1024).decode("utf-8")
OSError: [WinError 10057] Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied
Ответы (1 шт):
Автор решения: Стас
→ Ссылка
Ошибка в том, что нужно использовать client.recv(1024).decode("utf-8") вместо server.recv(1024).decode("utf-8"). Данные получаются от подключившегося клиента, а не от серверного сокета.