什么可能导致 ZMQ 路由器套接字阻塞?

Posted

技术标签:

【中文标题】什么可能导致 ZMQ 路由器套接字阻塞?【英文标题】:What might cause a ZMQ router socket to block? 【发布时间】:2015-05-16 01:59:50 【问题描述】:

ROUTER 套接字阻塞 .send() 到 @987654324 中的 DEALER 套接字的常见原因是什么@?

我使用 Python,但怀疑无论使用哪种语言,答案都是一样的。

【问题讨论】:

如果您希望对可能发生的事情有一些具体的帮助,请发布一些代码。 【参考方案1】:

ZeroMQ 使用高水位线的概念。

早期版本只有一个,HWM

最近的版本开始有一对 SNDHWM + RCVHWM(请参阅版本日志了解详细信息)以及一些额外的细节用于猜测由本地 Context()(s) 分配的每个 .bind()/.connect()-relation 设置的每个本地端的公共内存占用空间

一旦流程接近“接近”水印级别,您可能会开始遇到问题和/或丢失消息 - 请查看 ZeroMQ 记录的场景以了解详细信息。

如果您选择发布您的 MCVE 代码,可能会针对您的具体情况提供更多信息。

【讨论】:

高水位线是路由器可能阻塞的唯一情况吗?我的路由器和经销商都是新创建的。 您的 MCVE 代码即将发布吗?关于您的特定情况,可能还有更多要说的。在您在这里的 *** 社区体验之后,您一定已经注意到,遵守普遍接受的 *** 礼节 原则的帖子会获得非常快速且非常有经验的答案,并且通常还会获得许多其他共享知识 -如何。

以上是关于什么可能导致 ZMQ 路由器套接字阻塞?的主要内容,如果未能解决你的问题,请参考以下文章

什么可能导致非阻塞套接字阻塞“recv”?

从另一个线程关闭挂起的 zmq 套接字

ZMQ 套接字连接超时

zmq丢消息

zmq 交换和 HWM

非套接字上的套接字操作,zmq 选项