1

我想使用一些发布/订阅功能以及来自 autobahn.twisted.wamp.Application 的 rpc

如果我可以不这样做,我宁愿不创建 ApplicationSession 类。

注册的 rpc 方法会导致客户端订阅和发布吗?如果他们可以,请告诉我如何。

4

1 回答 1

4

是的,当然:

def onEvent(msg):
   print("got event: {}".format(msg))

@app.register('com.example.triggersubscribe')
def triggerSubscribe():
   yield app.session.subscribe(onEvent, 'com.example.topic1')

triggerSubscribe被调用时(例如从另一个 WAMP 组件远程调用),被调用者(暴露的 WAMP 组件com.example.triggersubscribe)将动态订阅com.example.topic1.

当然,您也可以从注册程序中发布:app.session.publish().

我在这里添加了完整的示例(包括 JS 客户端) 。

于 2014-08-15T20:14:24.860 回答