通过使用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)
答案 0 :(得分:1)
只要您没有到达发送套接字的高水位线(HWM),您就可以发送 - 允许发送方支持的消息数量。
默认情况下,据我记忆,它设置为1000.
/索伦