誰かがノードサーバーに接続すると、すべてのソケットを持つ配列が保持されます。 そのようにすれば、必要なときにいつでも誰にでもメッセージをブロードキャストできます。また、オンラインユーザーの数などをカウントするためにユーザーをループすることもできます。node.jsが切断イベントでソケットを送信しない
これはうまく動作しますが、切断イベントが発生すると、私の引数にソケットを受け取ります。 ソケットが切断されたばかりの別の方法がありますか?
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イベントはソケット引数(または他の引数)を与えないので、上記の例は機能しません。 ソケットがまだそこにある切断の前に別のイベントが発せられますか?
切断ハンドラが「接続」イベントのスコープ内で宣言されているため、アリ
クライアントからサーバーにデータを送信する必要がある場合は、1番目の方法で解決したような解決策はありませんか? –