我有N个发布者订阅者。该消息是一个简单的布尔值。消息传递模式与常规PubSub略有不同:
true
时,所有其他订户都应该收到false
。因此,我希望将false
发布给除一个订户以外的所有订户。该例外订户不是固定的,而是由用户选择的。
[我现在有一个主意是将所有人都发布给false
,然后以PushPull / Pair模式将true
发送给特殊订户。但这感觉就像是黑客。
是否会基于PubSub模式而不是通过1对1模式循环的简单解决方案?
Q:“将基于
PUB/SUB
模式而不是通过1对1模式循环的简单解决方案吗?”
哦,肯定会。
使用XPUB/XSUB
原型。每个XSUB
都以发送“ subscription”消息,UUID#
散列或类似内容开头。
[XPUB
.recv()
-sXSUB
-s“ subscription”消息,所以注册了一个新的对等体,它是UUID#
-哈希在某些情况下,如果确实要向此对等方发送消息,而现在不发送其他消息,则它只是.send()
-s这样的消息,并已将UUID#
哈希作为其二进制前缀放入(即,已添加如您从PUB/SUB
所知,它位于实际消息的“左侧”,因为这是主题过滤的工作方式。很容易。太酷了...