我使用socket.io 1.0,也许我的构思错了。
实际上,我用
打开命名空间服务器端var nsp = io.of('/myNamespace');
客户与
联系var socket = io.connect('http://localhost/myNamespace');
我可以毫无问题地开始沟通。 服务器端我用
捕获信号nsp.on('connection', function(socket){
socket.on('disconnect', function(){
//problem here
});
});
在断开连接中我想断开连接到我的命名空间的所有套接字,所以我试着做
for(var myParticipantID in io.sockets.adapter.nsp.connected)
{
io.sockets.adapter.nsp.connected[myParticipantID].disconnect();
}
但它不起作用...我没有错误但客户端仍然连接 我试过
io.sockets.nsp.clients();
但是自socket.io 1.0
以来我有错误我不想创造空间,但也许这是我的错误?
感谢您的帮助, MagicDenver
答案 0 :(得分:0)
如果它对某人有帮助, 我使用节点js,所以我创建了一个值:
app.set(idNameSpace,[]);
并在我有新连接时推送套接字
答案 1 :(得分:0)
您应该使用 io.of(名称空间)功能来获取已连接的客户端。
for (var id in io.of('/namespace').connected) {
var s = io.of('/namespace').connected[id];
s.disconnect();
}
如果您不知道命名空间并且您在socket.on语句中,则可以使用socket.nsp.connected
而不是io.of('/namespace').connected