【问题标题】:ZeroMQ: a STREAM socket to a DEALER socket proxyZeroMQ:到 DEALER 套接字代理的 STREAM 套接字
【发布时间】:2018-05-18 04:52:55
【问题描述】:

我有以下设置:

zmq::proxy( acceptor, clients, nullptr );

我的acceptorzmq::socket_type::stream
我的clientszmq::socket::type::dealer

我发现当另一端发送一个大请求 (~ 16 [kB]) 时,该请求会被分解并分段分发给我的经销商线程。一位经销商掌握了信息的主要内容,其他经销商则获得了中间部分。我没有设置任何特殊选项,所以这似乎是默认的 zeromq 行为。

我正在使用 ZeroMQ 4.2.2。

是否有任何方法可以覆盖此行为并保证将完整的消息传递到我的经销商线程?

【问题讨论】:

    标签: zeromq


    【解决方案1】:

    @namdam 值得 [+1] 发布版本详细信息

    有什么方法可以覆盖这个...

    是的,请遵循 API 记录的规则

    当使用 tcp:// 传输时,ZMQ_STREAM 类型的套接字用于从非 ØMQ 对等方发送和接收 TCP 数据。 ZMQ_STREAM 套接字可以充当客户端和/或服务器,异步发送和/或接收 TCP 数据。

    兼容的对等套接字。 . . . .

    因此,无论哪种方式,组合代理来处理兼容的套接字原型(不尝试将 ZMQ_STREAM 硬连线到任何其他 ZeroMQ 原生套接字原型),即完全避免使用 ZMQ_STREAM,或者创建一个读取网关,它在一侧解码和调解 ZMQ_STREAM 兼容行为,并在网关逻辑的另一侧连接到其他 ZeroMQ 原生套接字架构类型。

    如果有疑问,
    您可以阅读[ZeroMQ hierarchy in less than a five seconds]部分中简要介绍的主要概念差异

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多