繁体   English   中英

如何使高速公路/扭曲的websocket服务器重新启动/异常后保持正常运行

[英]how to make autobahn / twisted websocket server restart / stay up after exception

我有一个使用高速公路的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服务器仍将继续接受连接并为其他客户端提供运行的机会?

找到了问题。 我在代码中的其他地方放置了“ reactor.callFromThread(reactor.stop)”,它正在杀死反应堆。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM