Получить статус соединения на Socket.io-клиенте

Я использую Socket.io, и я хотел бы узнать статус подключения к серверу с клиентской стороны.

Что-то вроде этого:

socket.status // return true if connected, false otherwise

Мне нужна эта информация, чтобы дать визуальную обратную связь пользователю, если соединение упало или оно по какой-либо причине отключилось.

2 ответа

Вы можете проверить свойство socket.connected:

var socket = io.connect();
console.log('check 1', socket.connected);
socket.on('connect', function() {
 console.log('check 2', socket.connected);
});

Он обновляется динамически, если соединение потеряно, оно будет установлено на false, пока клиент не заберет соединение снова. Так легко проверить с помощью setInterval или что-то в этом роде.

Другим решением было бы поймать события disconnect и отслеживать статус самостоятельно.


Вы можете проверить, что соединение wheather потеряло или не пропустило эту функцию: -

var socket = io( /**connection**/ );
socket.on('disconnect', function(){
//Your Code Here
});

Надеюсь, это поможет вам.

licensed under cc by-sa 3.0 with attribution.