Можно ли сохранить соединения socket.io живыми после перезапуска сервера Nodejs? - PullRequest
2 голосов
/ 02 июля 2019

Я написал многопользовательскую пошаговую онлайн-игру, в которой в качестве транспортного механизма используется socket.io. Но проблема в том, что когда я хочу изменить какой-то код в приложении, он должен быть перезапущен, и это приводит к отключению и повторному подключению соединений сокетов, так что игровой процесс, включая таймеры, состояние и ... будет испорчен Как я могу справиться с этой ситуацией?

Я пытался написать модуль обработчика сброса:


    http.listen(port, () => {
        const argv = process.argv.slice(2)
        if (argv[0] === 'platform-Master') {
            const resetHandler = require('./reset-handler')()
            setTimeout(async () => {
                await resetHandler.findOpenGames()
            }, 3000)
        }
    })

Но он работает только для одного процесса, а не для кластера или в масштабе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...