(options, args) = parser.parse_args() zf = ZmqFactory() def bind_or_connect(s): if options.method == 'bind': s.bind(options.endpoint) elif options.method == 'connect': s.connect(options.endpoint) if options.mode == "publisher": pub = ZmqPubConnection(zf) bind_or_connect(pub) def publish(): data = str(time.time()) print "publishing %r" % data pub.send(data) reactor.callLater(1, publish) publish() else: def doPrint(msgs): print "message received: %r" % (msgs, ) sub = ZmqSubConnection(zf, callback=doPrint) sub.setsockopt(zmq.SUBSCRIBE, '') bind_or_connect(sub) reactor.run()