Я написал многопользовательскую пошаговую онлайн-игру, в которой в качестве транспортного механизма используется 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)
}
})
Но он работает только для одного процесса, а не для кластера или в масштабе.