我有一个使用autobahn的websocket服务器,它在onMessage上运行一些代码。
在此代码中发生异常并执行try / except子句,以便我可以记录错误,它正确记录。但是,与客户端(javascript)的连接断开连接。
问题是,如果我加载新页面,它不会重新连接到websocket服务器。我尝试将代码块放在while循环中启动服务器,但客户端没有成功连接。
if __name__ == '__main__':
import sys
from twisted.python import log
from twisted.internet import reactor, task, threads
logging.basicConfig(filename='/var/log/myerror.log', level=logging.ERROR)
log.startLogging(sys.stdout)
factory = WebSocketServerFactory(u"ws://127.0.0.1:9000", debug=False)
factory.protocol = MyServerProtocol
factory.setProtocolOptions(maxConnections=50)
reactor.listenTCP(9000, factory)
reactor.run()
有人知道如何制作它,即使代码在' onMessage'有一个例外,websocket服务器将继续接受连接并为其他客户提供运行的机会吗?
答案 0 :(得分:0)
发现问题。我放置了#reactor.callFromThread(reactor.stop)'代码中的其他地方,它正在杀死反应堆。