У меня есть сервер websocket, использующий autobahn, где он запускает некоторый код onMessage.Как сделать autobahn/twisted websocket server restart/stay up after
во время этого кода происходит исключение, и я выполняю предложение 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 будет продолжать принимать соединения и дать другим клиентам возможность работать?
Где ваш 'try' /' except' блок? –
Нашли ошибку. Я поместил «реактор.callFromThread (реактор.стоп) » в другом месте кода, и он убивал реактор. – user1601716