我期待從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的內部數據結構總是可以有所變動,並可能將來的更新會破壞您的所有代碼。當你使用這種方法時,你的風險要小得多。
這可能會或可能不會被 '記錄在案',但工作原理:
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