2013-11-28 1 views
2

Вот «отправитель» и «приемник», который я использую.Как заставить zuromq PUSH/PULL работать с окнами?

sender.py

import time 

import zmq 

context = zmq.Context() 
sender = context.socket(zmq.PUSH) 
sender.connect("tcp://127.0.0.1:5557") 

c = 0 
while True: 
    sender.send_json(c) 
    print "Sent {}".format(c) 
    c += 1 
    time.sleep(1) 

reciever.py

import zmq 

context = zmq.Context() 
receiver = context.socket(zmq.PULL) 
receiver.connect("tcp://127.0.0.1:5557") 

while True: 
    m = receiver.recv_json() 
    print m 

Когда я начинаю приемник затем запустить отправителя ничего не записывается в стандартный вывод на ЦМД приемника (я пытаюсь получить эту работа над окнами 7). Я добавил внешние и исходящие исключения для брандмауэра для порта 5557, а работающий netstat -an ничего не показывает на порту 5557. Наконец, я использую zmq 2.2.0.

ответ

2

В вашем sender.py вы должны написать sender.bind, а не sender.connect.

+0

Спасибо, что сделал трюк. Оговорка, я считаю, что мой код, вероятно, пострадает от проблемы «[медленный столяр» (http://zguide.zeromq.org/page:all) ». – John

Смежные вопросы