2014-09-22 154 views
2

我有一個帶有SocketIO和幾個連接的節點服務器。如何根據其ID來斷開現有套接字?有房間,每個房間的管理員和其他連接。我的目標是讓管理套接字根據其ID進行任何其他套接字斷開連接。SocketIO:通過套接字標識斷開客戶端連接?

解決方法是向待踢客戶端發送消息以ping回服務器:io.to(socketId).emit('commit-suicide!');,然後發送一個"I-am-so-suicid"消息,服務器呼叫socket.disconnect()。現在,這顯然不是最佳的解決方案......

回答

6

在服務器端,您可以訪問io.sockets.connected持有所有連接的插座:

io.sockets.connected[socketId].disconnect();

0

您可以在JSON對象哈希它

Socket#id:String

var json = {}; ... //create your serversocket, accept a connection json[Socket.id] = Socket