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

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

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

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