zeromq - 使用 ZeroMQ STREAM 套接字检测套接字连接
问题描述
我正在构建一个新应用程序,该应用程序从许多外部设备接收数据,并且需要使其可用于许多不同的组件。ZeroMQ 似乎是为我的架构的“数据总线”方面专门构建的。
我最近意识到 zmq STREAM 套接字可以连接到本地 TCP 套接字并发送/接收消息。在整个过程中使用 zmq 有很大的吸引力,但我有一个问题,我不知道如何解决。
需要设置我的一台设备。也就是说,我将一个套接字连接到它,向它发送一些配置信息,然后坐等它向我发送数据。该设备还具有“重置”功能(在某些情况下很有用),这需要重新发送配置信息。这样做取决于对套接字接口的设置/拆卸阶段的可见性。我需要知道何时建立新连接,以便发送必要的配置消息。
似乎 zmq 是故意设计来保护我免受这些知识的影响。有没有办法做我想做的事?或者我应该为此接口使用常规套接字吗?
解决方案
好吧,事实证明,阅读(正确版本的)精美手册可能是有益的。
建立连接后,应用程序将收到一条长度为零的消息。同样,当对端断开连接(或连接丢失)时,应用程序将收到一条长度为零的消息。
我想剩下的就是消除连接和断开之间的歧义。如果其他人以前处理过这种情况,仍在寻求社区的建议。
推荐阅读
- php - 我没有在准备好的语句 mysql 中使用,我是 OOP php daskite 的新手
- angular - Angular 2+路由器导航问题
- python - OSError: [Errno 8] Exec format error: 'chromedriver' using Chromedriver on Ubuntu server
- debugging - x86 程序收到信号 SIGSEGV,调试 MASM32 程序集期间出现分段错误
- simulation - 格子玻尔兹曼模拟中消失的内部边界条件
- ios - 我想将特定字符串转换为 json
- javascript - 使用 vform 包在 laravel 中使用 vue 的未定义变量
- amazon-web-services - AWS-sdk 没有用于 rds 集群的分页器
- php - 如何在laravel中删除可变形数据
- python - 在字符串列表中查找最常见的子字符串?