该代码非常有用:
import zmq, json, time def main(): context = zmq.Context() subscriber = context.socket(zmq.SUB) subscriber.bind("ipc://test") subscriber.setsockopt(zmq.SUBSCRIBE, '') while True: print subscriber.recv() def main(): context = zmq.Context() publisher = context.socket(zmq.PUB) publisher.connect("ipc://test") while True: publisher.send( "hello world" ) time.sleep( 1 )
但是此代码不起作用:
import zmq, json, time def recv(): context = zmq.Context() subscriber = context.socket(zmq.SUB) subscriber.bind("tcp://localhost:5555") subscriber.setsockopt(zmq.SUBSCRIBE, '') while True: print subscriber.recv() def send(): context = zmq.Context() publisher = context.socket(zmq.PUB) publisher.connect("tcp://localhost:5555") while True: publisher.send( "hello world" ) time.sleep( 1 )
它引发此错误:
ZMQError:没有这样的设备
为什么,zeromq无法使用localhost接口?
它只能在同一台计算机上的IPC上运行吗?