是否有可能从ZeroMQ PUB-socket获取过滤器列表?



如版本3的文档中所述。在PUB/SUB场景中,消息在发布者端被过滤(而不是在订阅者端,这是微不足道的)。

对我来说,这听起来像是发布者必须持有所有连接的套接字和消息过滤器的列表来完成此操作。

你同意吗?

基于这个假设,我现在想知道一个特定的过滤器是否处于活动状态。这将使我有可能不从一些(可能非常慢)其他数据提供程序检索特定的数据,当我知道它没有被使用。

是否有一种方法可以查看在最近版本的ZeroMQ中给定的PUB套接字上活动的过滤器?

我知道在这方面已经有了一些工作,但是现在已经两年了

据我所知,没有办法从ZMQ获得此信息。如果你想要关于这方面的最新信息,最好的地方是询问ZMQ开发人员邮件列表,实际的开发人员在那里。

再往回看一点,我发现邮件列表上的这个讨论,虽然它没有具体谈论订阅者主题,但确实解决了为什么这些信息不可用——也就是说,知道一个订阅者订阅了一个主题意味着知道他们是连接的,而这些信息违背了ZMQ抽象设计的概念,即让连接/断开连接更加无缝。

有一个解决方案,只是可能不是你正在寻找的:启动另一对元套接字从客户端到服务器通信它感兴趣的主题,所以这个信息从ZMQ抽象到显式消息传递。你在那里跟踪这些信息,并用它来控制你的信息收集。这可能看起来有点拼凑(当信息在技术上已经存在于发布者中时,正如您注意到的),但这是ZMQ做事的方式。

最新更新