我正在寻找一种支持 ZMQ 的解决方案,用于连接到 0 或 1 个对等点的绑定端点之间的通信,仅此而已。通信是双向的,连接可以随时结束或切断;并且可以与新的对等点或同一对等点重新建立连接。如果绑定端点在另一端没有对等点,则它是否阻塞或不阻塞都无关紧要。
哪对 ZMQ 套接字最适合此用例?我最初想到的是 REP/REQ,但是套接字对允许多个 REQ 连接到一个 REP,这是我不想要的;当有人断开连接时,它还需要处理“我正在等待接收/我要发送一些东西”的锁步范例。PAIR 似乎也很糟糕,因为它不能自然地处理重新连接,但它具有我想要的“0 或 1 个对等点”限制。
有什么建议么?
简短的回答:不幸的是,没有一种模式可以完全满足您开箱即用的需求。
最接近的模式是ZMQ PAIR to PAIR 模式。但它在以下方面存在一些局限性:
ZMQ_PAIR 套接字设计用于跨 zmq_inproc(7) 传输的线程间通信,并且不实现自动重新连接等功能。ZMQ_PAIR 套接字被认为是实验性的,可能有其他缺失或损坏的方面。
ROUTER和DEALER是最灵活的模式。您可以控制它来设置您需要的限制。
| 归档时间: |
|
| 查看次数: |
2184 次 |
| 最近记录: |