• С чем связано падение сервера websocket?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Проблема в том, что Вы не проверяете, живо ли соединение, перед тем, как послать в него данные. Для нахождения проблемы не хватает глубины вывода стека, добавьте ключик при запуске ноды node --stack-trace-limit=1000 application.js и там будет видно и из какого места Вашего кода это вызывается. Нужно ловить ws.on('close', fn) и ws.on('error', fn) и удалять эти сокеты из множества, по которому Вы проходитесь в цикле и рассылаете, дополнительно можно и проверку поставить типа if (connection.readyState === WebSocket.OPEN) ...
    Ответ написан
    1 комментарий