Socket.io-client: Socket.io - событие повторного подключения клиента 3.0.0+ не удалось

Созданный на 30 дек. 2020  ·  3Комментарии  ·  Источник: socketio/socket.io-client

Socket.io - событие повторного подключения клиента 3.0.0+ завершилось неудачно.

Переключитесь на версию 2.3.1, и все работает.

const io = require('socket.io-client');

let socket = io.connect('ws://127.0.0.1:8000', {
    "transports": ['websocket', 'polling'],
    reconnection: true
});
socket.on('connect', function(data){
    onlineFlag = true;
    console.log(data + ' - connect');
});
socket.on('connect_error', function(data){
    console.log(data + ' - connect_error');
});
socket.on('connect_timeout', function(data){
    console.log(data + ' - connect_timeout');
});
socket.on('error', function(data){
    console.log(data + ' - error');
});
socket.on('disconnect', function(data){
    onlineFlag = false;
    console.log(data + ' - disconnect');
});
socket.on('reconnect', function(data){
    console.log(data + ' - reconnect');
});
socket.on('reconnect_attempt', function(data){
    console.log(data + ' - reconnect_attempt');
});
socket.on('reconnecting', function(data){
    console.log(data + ' - reconnecting');
});
socket.on('reconnect_error', function(data){
    console.log(data + ' - reconnect_error');
});
socket.on('reconnect_failed', function(data){
    console.log(data + ' - reconnect_failed');
});
socket.on('ping', function(data){
    console.log(data + ' - ping');
});
socket.on('pong', function(data){
    console.log(data + ' - pong');
});
question

Самый полезный комментарий

@newpanjing привет! Что вы имеете в виду под "все событие повторного подключения не удалось"?

Как указано @tannerkrewson (спасибо!), Экземпляр Socket больше не генерирует никаких событий повторного подключения.

// no longer emitted
socket.on("reconnect_attempt", () => {});
// but you can listen to the events emitted by the Manager instance (the io attribute)
socket.io.on("reconnect_attempt", () => {});

Все 3 Комментарий

У меня тоже была эта проблема; Я понял!! Это по замыслу:

https://socket.io/docs/v3/migrating-from-2-x-to-3-0/index.html#The -Socket-instance-will-no-more-forward-the-events-emitted- его-менеджер

@newpanjing привет! Что вы имеете в виду под "все событие повторного подключения не удалось"?

Как указано @tannerkrewson (спасибо!), Экземпляр Socket больше не генерирует никаких событий повторного подключения.

// no longer emitted
socket.on("reconnect_attempt", () => {});
// but you can listen to the events emitted by the Manager instance (the io attribute)
socket.io.on("reconnect_attempt", () => {});

Можно ли получить предупреждающее сообщение в консоли, если кто-то попытается использовать эти события в самом сокете? Я думаю, что это было бы очень полезно для людей, мигрирующих, вместо того, чтобы молча терпеть неудачу. 😄

Была ли эта страница полезной?
0 / 5 - 0 рейтинги