2014-11-21 37 views
11

在0.9.x版本版本獲取插槽,我們可以通過ID這樣得到插座:Socket.IO 1.0.x的:通過ID

io.sockets.socket(socketId) 

但在1.0.x中,我們不能。如何在1.0.x中通過id找到套接字?

回答

27

對於socket.io 1.0用途:

io.sockets.connected[socketId] 

0.9的io.sockets.sockets [socketId],而不是io.sockets.socket [socketId]

+0

謝謝,它的工作 – 2014-11-21 10:03:14

+0

對於命名空間連接,我無法通過'io.sockets.connected [socketId] .emit()'來訪問它,但它確實工作類似'var nsp = io.of('/ my-namespace' );'然後'nsp.connected [socketId] .emit()'。謝謝 – Luckylooke 2016-09-22 05:03:55

12

你也可以使用,如:

io.to(socketid).emit(); 
0

Socket.io版本2.0.3+

let namespace = null; 
    let ns = _io.of(namespace || "/"); 
    let socket = ns.connected[socketId] // assuming you have id of the socket