Gdy ktoś łączy się z serwerem węzła, przechowuję tablicę ze wszystkimi gniazdami. W ten sposób mogę wysyłać wiadomości do wszystkich, ilekroć jest to potrzebne, lub przeglądać użytkowników, aby policzyć liczbę użytkowników online itp.node.js nie wysyła gniazda po zdarzeniu rozłączenia
Wszystko to działa dobrze, ale gdy zdarzenie on disconnect jest uruchamiane, nie otrzymuję gniazdo w moich argumentach. Czy istnieje inny sposób sprawdzenia, które gniazdo zostało odłączone?
var allClients = [];
io.sockets.on('connection', function(socket) {
allClients.push(socket);
socket.on('disconnect', function(socket) {
console.log('Got disconnect!');
var i = allClients.indexOf(socket);
delete allClients[i];
});
});
Oczywiście powyższy przykład nie działa, ponieważ zdarzenie disconnect nie daje argumentu socket (ani żadnego innego argumentu). Czy jest też inne zdarzenie, które zostało wywołane przed rozłączeniem, gdy gniazdo nadal tam jest?
Ali
jeśli muszę wysłać dane od klienta do serwera, jak to, co zrobił w 1. nie będzie działać żadne rozwiązanie? –