Socket.io-1.0 получает клиентов из пространства имен

Я работаю с 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


person MagicDenver    schedule 18.07.2014    source источник


Ответы (2)


Если это кому-то поможет, я работаю с node js, поэтому я создал значение:

app.set(idNameSpace,[]);

и нажимаю сокет, когда у меня новое соединение

person MagicDenver    schedule 21.07.2014

Для подключения клиентов следует использовать функцию 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

person p.o    schedule 21.07.2014