高速公路pubsub,队列和主题?

时间:2014-10-14 22:01:28

标签: python autobahn

Autobahn文档对于客户在发布消息后接收消息的方式/方式有点不清楚。开箱即用似乎向主题的所有订阅者广播了一条消息 - 他们都得到了它。但有没有办法将消息分发给单个客户端?队列中的某些内容,多个发布者将消息添加到队列中,并将消息分发到" free"订阅者,循环风格?猜猜它也可以称为简单海盗模式。

1 个答案:

答案 0 :(得分:1)

如上所述,通常发布给所有订阅者。

如果您要发布并指向特定订阅者,则使用符合条件的参数进行指导。这是WAMP文档:

http://autobahn.ws/python/reference/autobahn.wamp.html?highlight=eligible#autobahn.wamp.message.Publish

class autobahn.wamp.message.Publish(request, topic, args=None, kwargs=None, acknowledge=None, excludeMe=None, exclude=None, eligible=None, discloseMe=None)

在您的情况下,您需要提供符合条件的会话ID列表,例如合格=(1,2,3,)

我没有v2示例,但是,根据来源判断,我猜是这样的:

self.publish(u'com.myapp.topic1',  eligible = [100, 200, 300] )

在v1中,我使用此技术发布到订阅者的子集。在v2中,我使用订阅主题本身来限制谁收到消息。所以,我可能会创建com.pub.m1,com.pub.m2,com.pub.m3等而不是com.pub,而我的客户订阅的主题决定了他们将收到的内容。