是否可以从ZeroMQ PUB套接字获取过滤器列表?

fra*_*ans 5 publish-subscribe zeromq

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

对我而言,这听起来像发布者必须保存所有连接的套接字和消息过滤器的列表才能实现此目的.

你同意吗?

基于这个假设,我现在想知道特定过滤器是否有效.当我知道它还没有被使用时,这将使我无法从某些(可能是非常慢的)其他数据提供者检索特定数据.

有没有办法在最新版本的ZeroMQ中查看给定PUB套接字上哪些过滤器处于活动状态?

我知道已经有了一些工作,看到这里,但现在已经两年了..

Jas*_*son 3

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

再往前看,我在邮件列表上发现了这个讨论,虽然它没有具体谈论订阅者主题,但确实解决了为什么该信息不可用 - 即,知道订阅者订阅了某个主题意味着知道它们已连接,并且该信息违背了让连接/断开连接更加无缝的 ZMQ 抽象设计理念。

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