【问题标题】:Do messages drop in zeromq pull/push when client disconnects当客户端断开连接时,消息是否在 zeromq 拉/推中下降
【发布时间】:2021-09-12 09:38:43
【问题描述】:

我正在使用 ZMQ 允许多个客户端连接到服务器并使用 Pull/Push 模式发送视频数据流。现在的问题是客户端可以与服务器断开连接。我需要问是否存在可靠性问题,如果发送到服务器的数据被丢弃会发生什么。客户端是否会从一开始或从 ZeroMQ 中丢弃的位置开始发送视频流。使用 Pull/Push 模式是否有缓冲区来适应这个问题。

【问题讨论】:

    标签: zeromq pyzmq


    【解决方案1】:

    通常ZeroMQ套接字会在由于临时网络错误而丢失连接时自动重新连接。

    对于 PUSH 套接字,documentation 声明:

    当一个 PUSH 套接字由于所有下游节点都达到高水位线而进入静音状态,或者如果根本没有下游节点,那么套接字上的任何发送操作都会阻塞,直到静音状态结束或在至少有一个下游节点可用于发送;消息不会被丢弃。

    所以一个 PUSH 套接字会缓冲数据,如果它没有连接到下游的 PULL 套接字,最终会阻塞。

    您应该能够通过暂时禁用或拔出网络来测试这一点。

    【讨论】:

    • 非常感谢您的评论真的很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多