Я хочу отправить несколько сообщений из одного сокета в другой, и я столкнулся с этой проблемой.
client.py
context = Context()
for i in range(10):
print(i)
out_socket = context.socket(REQ)
out_socket.connect("tcp://localhost:%s" % "5000")
message_content = ("hello", 1)
pickled_message = dumps(message_content)
out_socket.send(pickled_message, flags=NOBLOCK)
Server.py
context = Context()
in_socket = context.socket(REP)
in_socket.bind("tcp://*:%s" % "5000")
poller = Poller()
poller.register(in_socket, POLLIN)
while True:
socks = dict(poller.poll())
print(socks)
if socks.get(in_socket) == POLLIN:
pickled_received_message = in_socket.recv(flags=NOBLOCK)
received_message, sender_entity_id_e = loads(pickled_received_message)
print(received_message, sender_entity_id_e)
Вывод client.py
client.py выводит числа от 0 до 9. Это навело меня на мысль, что сообщения были отправлены, и это сработало. Затем я присмотрелся к server.py и понял, что хотя цикл выполнялся 10 раз, было отправлено только одно сообщение.
Я хочу реализовать отправку нескольких сообщений с клиента на сервер без блокировки. Есть идеи, как этого добиться? Я уже пробовал несколько решений без успеха. Я думаю, что это должно работать, но я не уверен, почему это не работает.