私は、すべての個体ソケットオブジェクトをio.sockets
から取り出して、それらのそれぞれについて繰り返すことを考えています。io.socket内のすべてのソケットオブジェクトを取得する
のような何か:
for (socket in io.sockets.something()) {
// do something with each socket
}
どちらか私はこの間違ったをやっているか、私は何かが欠けている必要があります。思考?
私は、すべての個体ソケットオブジェクトをio.sockets
から取り出して、それらのそれぞれについて繰り返すことを考えています。io.socket内のすべてのソケットオブジェクトを取得する
のような何か:
for (socket in io.sockets.something()) {
// do something with each socket
}
どちらか私はこの間違ったをやっているか、私は何かが欠けている必要があります。思考?
公定法は次のとおりです。
部屋によってio.sockets.clients().forEach(function (socket) { .. });
またはフィルタ:
io.sockets.clients('roomname') .. same as above ..
。これはsocket.ioの内部データ構造として、上記の提案の上にお勧めします常に変更になる可能性があり、潜在的に将来の更新ですべてのコードを壊す。このofficial
メソッドを使用すると、リスクが大幅に軽減されます。
これはよく、または '文書化' が、働くことはできません。
for (var id in io.sockets.sockets) {
var s = io.sockets.sockets[id];
if (!s.disconnected) {
// ...
// for example, s.emit('event', { ... });
}
}
使用io.sockets.clients()
:
io.sockets.clients().forEach(function(s) {
// ...
// for example, s.emit('event', { ... });
});
あなたがに接続する優れたnode-inspectorを使用することができますアプリを開き、s
の内容を確認してください。
これはまさに私が必要としていたものです。 io.socketsを調べることが私には明らかでした。私は私の質問が明確ではなかったことを理解しています。 –
だから、問題とは何ですか? – thejh
なぜそれを感じますか? –
私はちょうど興味があります、これはどのようなユースケースですか? – alessioalex