import sys
import zmq
# Socket to talk to server
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect("tcp://localhost:5556")
# Subscribe to zipcode, default is NYC, 10001
zip_filter = "10001"
# Python 2 - ascii bytes to unicode str
if isinstance(zip_filter, bytes):
zip_filter = zip_filter.decode('ascii')
socket.setsockopt_string(zmq.SUBSCRIBE, zip_filter)
# Process 5 updates
for update_nbr in range(3):
string = socket.recv_string()
zipcode, temperature, relhumidity = string.split()
print("Received data : %s , %d , %d" % (zip_filter, temperature, relhumidity))
Но я не могу заставить его работать, поскольку SUB вечно ждет string =ocket.recv_string(), тогда как PUB отправляет сообщения без ошибок. Действительно, он возвращает длину отправленных сообщений.
Примечания:
Сон предназначен для пробного использования, чтобы иметь возможность запустить SUB до отправки PUB. Но если я удалю его и сначала запущу SUB, у меня будет такое же поведение.
Но я не могу заставить его работать, поскольку SUB вечно ждет string =ocket.recv_string(), тогда как PUB отправляет сообщения без ошибок. Действительно, он возвращает длину отправленных сообщений.
Примечания:
[list] [*]Сон предназначен для пробного использования, чтобы иметь возможность запустить SUB до отправки PUB. Но если я удалю его и сначала запущу SUB, у меня будет такое же поведение. [*]Если я сделаю следующее, он напечатает[code]none[/code] : [/list]