根据以下讨论
当他没有提供过滤器时,似乎没有可能阻止订阅者接收所有消息。
是否可能不提供过滤器的订阅者不会收到任何消息?即,订阅者只接收消息,如果他知道确切的过滤器(没有通配符等)。
答案 0 :(得分:1)
主题似乎有些混乱。让我们解除 PUB-SUB
这是btw在实例化之后的默认初始状态
aSub_signallingChannelEND = aCentralCONTEXT.socket( zmq.SUB )
在这个初始状态中,自然没有有效的订阅(pre-)设置,因为Context()
是一个理性过程(不是Norn),因此它不能先验假设任何这样普遍有效的订阅密钥(如果可能的话,那将是非常奥威尔,不会吗?)以便灌输一个SUB
- 实例让它“喘息”#34;因为它的诞生。
在原始的 ZeroMQ v2.x 中(注意,这被证明对ZeroMQ库的最新版本无效)但是这个状态并不意味着 {{1} } 方面没有实际收到任何消息。在 SUB
旁边执行了v2.x订阅过滤(无论是否由于性能决策),因此 检测&# 34;未授权"消息仍然可能
简短版本
原则上, SUB
-side per-se无法区分任何 PUB
- 关于订阅内容和内容的决定退订-从
由于 SUB
消息传递模式是以这种方式定义的,因此您必须使用智能分层设置来满足PUB-SUB
模式之外的身份验证需求,或者可以使用其他方法来增加基于身份验证的保护(例如,为基于身份验证的代码/解码内容选择能力量身定制的权利/密钥 - 用于突出显示一些可能的方法)。