Как вернуть соединения 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(); не помогает.
  • Вопрос задан
  • 736 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы