首页 > 解决方案 > ZeroMQ,异步阻塞套接字

问题描述

我正在构建一个分布式系统,我希望双方异步发送和接收,并在高水位标记后阻塞。

PUSH/PULL 套接字效果很好,但我无法绑定 PUSH 套接字。这意味着如果客户端在防火墙后面,我不能有一个客户端-PUSH 到服务器-PULL 和一个服务器-PUSH 到客户端-PULL,因为服务器无法连接到客户端。

在书中,写了以下内容,但我找不到它的例子。“REQ to DEALER:理论上你可以这样做,但如果你添加第二个 REQ,它会中断,因为 DEALER 无法向原始对等方发送回复。因此 REQ 套接字会混淆,和/或返回消息意味着给另一个客户。” http://zguide.zeromq.org/php:chapter3

我只需要一对一的连接,所以理论上这对我有用。

我的问题是,在不丢包的情况下,使用 ZeroMQ 获得异步发送和接收的最佳实践是什么?

标签: zeromq

解决方案


大多数 ZeroMQ 套接字都可以绑定(侦听特定端口,充当服务器)和连接(充当客户端)。它通常与数据流无关。有关更多信息,请参阅指南

尝试在您的服务器上绑定 PUSH 套接字并从您的客户端 PULL 套接字连接。


推荐阅读