Socket.io-1.0从命名空间获取客户端



我使用套接字。也许我的想法是错的。

实际上,我用

打开了一个命名空间服务器端
var nsp = io.of('/myNamespace');

客户端连接

var socket = io.connect('http://localhost/myNamespace');

我可以开始沟通没有问题。服务器端I用

捕获信号
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();

但我有错误,因为套接字。io 1.0

我不想创建空间,但也许这是我的错误?

谢谢你的帮助,MagicDenver

如果能帮到别人,我用node js工作,所以我创建了一个值:

app.set(idNameSpace,[]);

和push socket当我有一个新的连接

您应该使用io.of(namespace)函数来获得连接的客户端

for (var id in io.of('/namespace').connected) {
    var s = io.of('/namespace').connected[id];
    s.disconnect();
}

如果您不知道名称空间并且您在套接字中。在语句中,可以使用socket.nsp.connected而不是io.of('/namespace').connected

最新更新