使用tac文件与twistd一起运行时的Autobahn websocket问题

我有一个使用扭曲的
autobahn WebSocket框架实现的WebSocket服务器.当程序使用python运行时,WebSocket服务器运行正常.但是,如果我通过创建tac文件作为扭曲服务使用twistd服务器运行程序运行它,我在服务器中得到以下错误,而任何客户端尝试建立连接并且握手失败.

2015-12-08 07:17:56,022 – CRITICAL – twisted.publishToNewObserver()154未处理的错误
Traceback(最近一次调用最后一次):
  在callWithContext中输入文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/twisted/python/log.py”,第84行
    return context.call({ILogContext:newCtx},func,* args,** kw)
  在callWithContext中输入文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/twisted/python/context.py”,第118行
    return self.currentContext().callWithContext(ctx,func,* args,** kw)
  在callWithContext中输入文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/twisted/python/context.py”,第81行
    return func(* args,** kw)
  在_doReadOrWrite中输入文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/twisted/internet/posixbase.py”,第597行
    为什么= selectable.doRead()
— —
  在doRead中输入文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/twisted/internet/tcp.py”,第1067行
    protocol = self.factory.buildProtocol(self._buildAddr(addr))
  在buildProtocol中的文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/twisted/internet/protocol.py”,第135行
    p = self.protocol()
  在__init__中输入文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/autobahn/websocket/protocol.py”,第665行
    self.is_closed = txaio.create_future()
  文件“/opt/nrgi-ws/nrgi-ws-virtual-env/local/lib/python2.7/site-packages/txaio/_unframework.py”,第43行,在_throw_usage_error中
    “要使用txaio,首先必须选择一个框架”
exceptions.RuntimeError:要使用txaio,必须先选择带有.use_twisted()或.use_txaio()的框架

最佳答案 我今天发现了同样的问题.

您应该将txaio降级到1.1.0版

这是我的点子名单
高速公路(0.10.9)
autobahntestsuite(0.7.3)
扭曲(15.4.0)
txaio(1.1.0)
zope.interface(4.1.3)

点赞