Autobahn.twisted.wamp.应用程序是否可以发布/订阅?

本教程将介绍Autobahn.twisted.wamp.应用程序是否可以发布/订阅?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

Autobahn.twisted.wamp.应用程序是否可以发布/订阅? 教程 第1张

问题描述

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

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

注册的RPC方法是否可以引起客户端订阅和发布?
如果他们可以,请告诉我怎么做。

推荐答案

是,当然:

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组件远程调用)时,(暴露com.example.triggersubscribe的WAMP组件)将动态订阅com.example.topic1

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

我已经添加了完整的示例(包括JS客户端)here。

好了关于Autobahn.twisted.wamp.应用程序是否可以发布/订阅?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。