首页 > 解决方案 > 使用 ZeroMQ STREAM 套接字检测套接字连接

问题描述

我正在构建一个新应用程序,该应用程序从许多外部设备接收数据,并且需要使其可用于许多不同的组件。ZeroMQ 似乎是为我的架构的“数据总线”方面专门构建的。

我最近意识到 zmq STREAM 套接字可以连接到本地 TCP 套接字并发送/接收消息。在整个过程中使用 zmq 有很大的吸引力,但我有一个问题,我不知道如何解决。

需要设置我的一台设备。也就是说,我将一个套接字连接到它,向它发送一些配置信息,然后坐等它向我发送数据。该设备还具有“重置”功能(在某些情况下很有用),这需要重新发送配置信息。这样做取决于对套接字接口的设置/拆卸阶段的可见性。我需要知道何时建立新连接,以便发送必要的配置消息。

似乎 zmq 是故意设计来保护我免受这些知识的影响。有没有办法做我想做的事?或者我应该为此接口使用常规套接字吗?

标签: zeromq

解决方案


好吧,事实证明,阅读(正确版本的)精美手册可能是有益的。

建立连接后,应用程序将收到一条长度为零的消息。同样,当对端断开连接(或连接丢失)时,应用程序将收到一条长度为零的消息。

我想剩下的就是消除连接和断开之间的歧义。如果其他人以前处理过这种情况,仍在寻求社区的建议。


推荐阅读