首页 文章

轮询我是否可以推送或发送zmq?

提问于
浏览
0

通过使用0mq,我试图检测我是否已成功连接到PULL端口,如果我可以推送 . 但是,它没有像我预期的那样工作,请参阅下面的示例代码 . 即使远程对等方尚未启动接受连接,Poller也会立即返回 . 有办法解决吗?

import sys
import zmq
context = zmq.Context()
pusher = context.socket(zmq.PUSH)
pusher.connect("tcp://localhost:5555")
poller = zmq.Poller()
poller.register(pusher, zmq.POLLOUT)
socks = dict(poller.poll(timeout=1000))

if pusher in socks and socks[pusher] == zmq.POLLOUT:
    print("Pusher can push")
else:
    print("Failed to connect, exit.")
    sys.exit(1)

1 回答

  • 1

    只要您没有到达发送套接字的高水位线(HWM),您就可以发送 - 允许发送方支持的消息数量 .

    默认情况下,据我记忆,它设置为1000 .

    /索伦

相关问题