0

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

4

1 回答 1

0

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

于 2016-02-02T14:26:29.533 回答