检索io.socket中的所有套接字对象

Dav*_*ard 7 javascript node.js socket.io

我希望得到所有个人套接字对象io.sockets并迭代它们中的每一个.

就像是:

for (socket in io.sockets.something()) {
   // do something with each socket
}
Run Code Online (Sandbox Code Playgroud)

要么我做错了,要么我必须遗漏一些东西.思考?

3rd*_*den 15

官方方法是:

io.sockets.clients().forEach(function (socket) { .. });
Run Code Online (Sandbox Code Playgroud)

或按房间过滤:

io.sockets.clients('roomname') .. same as above ..
Run Code Online (Sandbox Code Playgroud)

建议通过以上建议,因为socket.io的内部数据结构总是可能会发生变化,并且可能会在将来更新时破坏所有代码.使用此official方法时风险更小.

  • 这是我对其他奇妙的Socket.io的抱怨:虽然有很多[例子](http://socket.io/#how-to-use),但是没有简洁的API文档,让我猜测我的方式我的第一个建议. (2认同)