bar*_*caf 3 zeromq nanomsg netmq
我正在使用PUB/ SUB设计,我的问题是:
我.bind()可以在另一个套接字插入后再访问该端口吗.connect(),还是应该.bind()在另一个套接字尝试访问.connect()相同的地址之前访问该端口?
换一种说法:
.bind()和的顺序.connect()重要吗?
(我认为这个问题不是特定于PUB/ SUB而是与任何设计有关)。
ZMQ背后的驱动原理是不必担心您尝试连接的套接字是否已经存在。这些是ZMQ试图从您(开发人员)那里抽象出来的细节。所以,不,顺序bind()和connect()不要紧,任何套接字类型。
如果您打算对zmq指南进行广泛的工作,建议您阅读zmq指南,有关部分在这里:
请记住,ZeroMQ在后台执行异步I / O。假设您有两个节点按此顺序执行此操作:
- 订阅服务器连接到端点,并接收和计数消息。
- 发布者绑定到终结点,并立即发送1,000条消息。
然后,订户很可能不会收到任何东西。您将眨眼,检查是否设置了正确的过滤器,然后重试,订阅者仍将不会收到任何消息。
...这里有一个重要的要点,对于PUB / SUB-即使您connect()首先与订户联系,实际上直到发布者-ed 之后才真正建立连接bind(),因此,如果您尝试与发布者发送消息而没有等待您的订户完成连接,这些消息将永远不会到达您的订户。