我刚刚开始使用autobahn python并且我正在使用帮助器ApplicationRunner
类来建立基本连接。我的意图是连接一次,触发一条消息,然后退出,因为我写的所有脚本都需要这样做。我遇到的问题是,如果应用程序启动后关闭应用程序似乎并不明显,我使用the advice here来访问全局反应器并调用reactor.stop()
,但我想知道是否有更好的方法。查看下面的我的脚本,欢迎所有评论。
from autobahn.twisted.wamp import ApplicationRunner, ApplicationSession
class Example(ApplicationSession):
def __init__(self, config=None):
ApplicationSession.__init__(self, config)
def onJoin(self, details):
self.register(self)
# publish something here
from twisted.internet import reactor
reactor.stop()
runner = ApplicationRunner(u"ws://example_address", u"example_realm")
try:
runner.run(Example)
except Exception as e:
print('Couldn\'t connect to WAMP router because: "{}"'.format(e))