1

我需要一个推送消息服务器的方案。

现在我选择 AutobahnJs + AutobahnPython 方案。

使用 AutobahnJs Library 的 html5 的 websocket 连接到 AutobahnPython 使用的服务器

现在,clientA,clientB,clientC 连接到服务器。

APPS 想要向 clientA 发送消息。怎么做?

这是我的流程:APPS伪装成clientD连接到服务器。

在 javascript 中,使用订阅频道,每个客户端使用相同的订阅频道。clientD 向频道发布消息(订阅频道也一样),服务器向所有订阅该频道的客户端发送消息。

这是一个问题,我需要APPS(clientD)只向clientA发送消息,而不是每个订阅的客户端。如何做到这一点?

也许我的流程不正确。任何帮助和更多计划?

4

1 回答 1

2

您可以通过在发布时在合格参数中提供 WAMP 会话 ID 来做到这一点:

http://autobahn.ws/js/reference#Session_publish

WAMP 会话 ID 可以通过在会话对象上调用 sessionid() 在 AutobahnJS 中获取。

http://autobahn.ws/js/reference#Session_sessionid

您的总体方案对于您的用例是正确的:所有客户端都订阅 1 个主题,但随后仅指定一个有资格接收已发布消息的专用接收器。

于 2012-08-17T11:46:52.857 回答