Это сообщение об ошибке вызывается по ряду причин:
- Сервер повторно использовал соединение, потому что он слишком долго простаивал.
- Может быть IP-адрес клиента или номер порта не такие же, как у сервера .
- Сеть между сервером и клиентом может временно отключиться.
- Сервер сначала не запускается.
Кажется, ваш код в порядке. Вы запускали сначала сервер, а затем клиент? Убедитесь, что это так. Приведенный ниже код полностью протестирован на моем компьютере.
Сервер:
import socket
HOST = '127.0.0.1' # (localhost)
PORT = 65432 # Port to listen on
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
while True:
data = conn.recv(1024).decode()
if not data:
break
conn.send(data.encode())
Клиент
import socket
HOST = '127.0.0.1' # Server's IP address
PORT = 65432 # Server's port
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
while True:
s.send(("Hi server, send me back this message please").encode())
data = s.recv(1024).decode()
print('(From Server) :', repr(data))
Примечание. Сначала запустите сервер, затем клиент.
Вывод:
![Output of running code](https://i.stack.imgur.com/kczom.png)