Wie erkennt man, dass die Verbindung des Benutzers unterbrochen wurde oder dass er das Browserfenster in Nodejs socket.io geschlossen hat?

Ich habe eine Chat-Anwendung auf Node.js und Socket.io, der Benutzer kann sich über eine Schaltfläche verbinden und trennen ... Ich habe eine Liste von Online-Benutzern, die mit Hilfe meiner definierten Ereignisse, die der Benutzer auslöst, perfekt verwaltet wird.

Das Problem ist jedoch, dass ich nicht feststellen kann, ob der Benutzer die Verbindung verloren hat oder das Browserfenster geschlossen hat, ohne sich manuell zu trennen (über die Schaltfläche "Trennen") ...

Dieses socket.io-Ereignis wird nur ausgelöst, wenn der Benutzer sich selbst trennt, nicht wenn er seine Verbindung verliert.

socket.on('disconnect',function(){
   console.log('user disconnected');  });

Ich möchte, dass ein wirklich guter Mechanismus die Benutzer im Auge behält, um meine Online-Benutzerliste zu aktualisieren.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage