Я новичок в Python, и я пытаюсь узнать об использовании сокетов в Python и создать клиентские и серверные скрипты, которые отправляют и печатают сообщения между собой, но я могу только отправлять сообщения от клиента на сторону сервера и после несколькихотправленные сообщения Я получаю сообщение об ошибке, когда пытаюсь отправить сообщение с сервера клиенту, потому что он печатает сообщения только от клиента после того, как я попытаюсь отправить сообщение с сервера.почему это не работает для меня?Я знаю, что это может быть очевидным для некоторых людей, но я не нашел руководств, дающих хорошее и простое объяснение сокетов.
на стороне сервера:
import socket
import select
soc = socket.socket()
soc.bind(('', 5555))
soc.listen(5)
while True:
newsoc, addr = soc.accept()
back = newsoc.recv(1024)
print(back.decode())
msg = input("server put")
newsoc.send(msg.encode('UTF-8'))
на стороне клиента:
import socket
import select
while True:
soc = socket.socket()
soc.connect(('127.0.0.1', 5555))
soc.setblocking(False)
ready = select.select([soc], [], [], 1)
if ready[0]:
back = soc.recv(1024)
print(back.decode())
msg = input("put")
soc.send(msg.encode('UTF-8'))
ready2 = select.select([soc], [], [], 1)
if ready2[0]:
back2 = soc.recv(1024)
print(back2.decode())
soc.close()