无法通过IPC获取ZeroMQ python绑定来接收消息怎么办?

  • 回答 (2)
  • 关注 (0)
  • 查看 (136)

我试图通过IPC实现PUB / SUB。如果我更改了下面的代码,以便订阅者绑定到“tcp:// *:5000”,并且发布者连接到“tcp:// localhost:5000”,它就可以工作,但是我无法通过IPC工作。我究竟做错了什么?

subscriber.py

import zmq, json

def main():
    context = zmq.Context()
    subscriber = context.socket(zmq.SUB)
    subscriber.bind("ipc://test")
    subscriber.setsockopt(zmq.SUBSCRIBE, '')
    while True:
        print subscriber.recv()

if __name__ == "__main__":
    main()

publisher.py

import zmq, json, time

def main():
    context = zmq.Context()
    publisher = context.socket(zmq.PUB)
    publisher.connect("ipc://test")
    while True:
        publisher.send( "hello world" )
        time.sleep( 1 )

if __name__ == "__main__":
    main()
叼根棒棒糖叼根棒棒糖提问于
Dust资深服务器虚拟化工程师。回答于
已采纳

最可能的原因是你正在其他目录中运行发布者。尝试使用管道位置的绝对路径:“ipc:///tmp/test.pipe”。现在使用它的方式使其与当前工作目录相关。

用户2336125回答于

windows 不支持 ipc,只有在linux上使用ipc,你可以换成inproc

扫码关注云+社区

领取腾讯云代金券