Socket.io Как обрабатывать событие интернет-отключения клиента? Я прочитал heartbeat на stackoverflow, но это решение не работает для меня.Socket.io handle Клиентский интернет-событие
Я нашел ping solution, но я думаю, что это плохой подход к свистеть все подключенные пользователь, это будет замедлять сервер
вот мой код, любезно руководство, как обрабатывать события интернет разъединения?
io.on('connection', function(client) {
client.on('online', function(data) {
socket_api.user_online(data.user_id, function (err,res){
if (err) {
client.emit ('error',err);
} else {
console.log ("client connected")
client.emit ('online_response', res);
}
});
// client.emit('messages', 'Hello from server');
});
client.on('disconnect', function (data){
console.log ("Client disconnected");
});
});
'пинг-pong' требуется для' websocket' –
Когда клиент теряет подключение к интернету, сервер получит отключить событие. Это может быть не сразу, но это произойдет. Я думаю, что ваш вопрос, вероятно, является дуптом этого: [как обнаружить, что соединение пользователя потеряно, или он закрыл окно браузера в Nodejs socket.io] (http://stackoverflow.com/questions/16293520/how-to-detect -that-users-connection-is-lost-or-he-closed-the-browser-window-in), и этот [Socket IO обнаруживает, когда клиент потерял соединение] (http://stackoverflow.com/questions/9182695/сокет-IO-обнаруживать, когда-клиент-имеет-потерянный-соединение). – jfriend00
Проверите ли вы, что решение ping не повлияет на производительность сервера узлов? Это хороший подход? –