誰かがノードサーバーに接続するとき、私はすべてのソケットを含む配列を保持します。そうすれば、必要なときにいつでも全員にメッセージをブロードキャストしたり、ユーザーをループしてオンラインユーザーの数を数えたりすることができます。
これはすべて正常に機能しますが、on切断イベントが発生すると、引数にソケットがありません。どのソケットが切断されたかを知る別の方法はありますか?
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];
});
});
もちろん、上記の例は機能しません。これは、disconnectイベントがソケット引数(またはその他の引数)を提供しないためです。それで、ソケットがまだそこにある切断の前に発生した別のイベントはありますか?
アリ