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

时间:2016-02-15 13:23:36

标签: zeromq pyzmq

通过使用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 个答案:

答案 0 :(得分:1)

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

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

/索伦