Задать вопрос

Как вернуть соединения socket.io после вывода disconnect при обновления страницы?

Создаю соединение socket которое после обновления страницы разрывается. если на стороне сервера перезапустить то соединения восстанавливаются. Как можно обработать disconnect чтобы вернуть соединения.

подключение на клиента
socketio(window.location.hostname+':8000', {
    transports: ['polling', 'websocket'],
    reconnection: true,
    autoConnect: true,
    timeout: 50000
})


На сервере
let app = express();
/*...*/
server = app.listen(8000);
Socket.runConnection(server);
/*...*/


Сам сокет
export class Socket {
/*....*/
public runConnection(app){
        this.io = socketIo(app,{
            reconnection: true,
            reconnectionDelay: 1000,
            reconnectionDelayMax: 5000,
            'sync disconnect on unload': true
        });
        this.io.adapter(sio_redis(RedisConfig));
        this.listen();
    }
public listen(){
        let self = this;
/*....*/
        this.io.on('connection', function(socket:SocketIO.Socket) {
            console.log(`connection ${socket.id}`);
            socket.on('disconnect', function (reason) {
/*....*/
            });
        });
    }
}


На стороне клиента socket.connect(); не помогает.
  • Вопрос задан
  • 766 просмотров
Подписаться 6 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Бэкенд на Node.js для фронтенд-разработчиков
    3 месяца
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
  • Stepik
    Microservices - паттерны и практика построения микросервисов
    1 неделя
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы