Sto usando node.js per le connessioni a lungo trattenute. Voglio sapere come posso rilevare quando la connessione client si chiude (forse quando l'utente chiude la scheda). Come posso specificare una richiamata per quello?Rilevamento della chiusura del client connect in node.js
12
A
risposta
9
Rispondendo alla mia domanda proprio - È possibile rilevare chiusura di connessione del client facendo:
http.createServer(function(request, response) {
request.connection.addListener('close', function() {
// callback is fired when connection closed (e.g. closing the browser)
});
}
0
Date un'occhiata a Socket.io. Supporta i seguenti trasporti con fallback in questo ordine:
- WebSocket
- Adobe Flash Socket
- AJAX polling lungo
- AJAX multipart in streaming
- sempre Iframe
- JSONP Polling
Il vantaggio è che sarete in grado di gestire molto più c connessioni oncurrent rispetto al solo polling lungo. Inoltre avrai una ricca serie di funzioni come battiti cardiaci e disconnessioni.
io.sockets.on('connection', function (socket) {
// ... other socket handlers here ...
socket.on('disconnect', function() {
// do something to handle the disconnect
});
});
+0
downvoted per: risolvere un problema con un altro problema – colthreepv
questo si attiva dopo aver inviato una risposta, non prima di allora. – JasonS
@JasonS Questa è la chiamata alla connessione ... L'evento viene aggiunto quando l'utente si connette al server - nulla a che fare con la necessità di inviare una richiesta. –