我期待从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