Configurando uma sala socket.io para um grupo específico com base no URL. Node.js, Express, Angluarjs

Eu tenho um aplicativo da Web em execução no nó usando express, angular, mongodb e socket.io, onde os usuários pertencem a grupos. Nesses grupos, preciso configurar um soquete de bate-papo, no qual apenas as pessoas pertencentes a esse grupo possam ver as mensagens específicas desse grupo e enviar mensagens apenas para outros usuários desse grupo. No momento, consegui configurar a sala de bate-papo socket.io com base nas diretrizes do site, mas as mensagens enviadas são visíveis para todos os outros grupos. Li que preciso configurar certas salas, mas não sei como configurá-las para que a sala seja específica ao grupo.

O grupo é mantido em um domínio: por exemplo ... www.mydomain.com/groups/groupId/room

O groupId é um ID exclusivo gerado pelo MongoDB. Estou usando o Angularjs no lado do cliente e tenho um controlador de grupo para os grupos. Se alguém tiver alguma idéia de como conseguir isso ou puder me indicar a direção certa, ficaria extremamente grato.

Meu código atual do lado do servidor:

var io = require('socket.io').listen(server);

io.sockets.on('connection', function(socket) {

    socket.on('connectToServer', function (data) {
        var name = data.name;
        io.sockets.emit('user-join', name + " has connected to the group");
    });

    socket.on('send msg', function (data) {
        io.sockets.emit('get msg', data);
    });

});

e meu código do lado do cliente no groupController, no qual acesso um serviço Global que armazena os detalhes do usuário atual, é o seguinte:

var socket = io.connect();

$scope.msgs = [];

$scope.sendMsg = function () {
    socket.emit('send msg', $scope.msg.text);
    $scope.msg.text = "";
}

socket.on('get msg', function (data){
    $scope.msgs.push(data);
});

var currentUser = Global.currentUser();
var name = currentUser.username;

socket.emit('connectToServer', {name: name});

socket.on('user-join', function (data) {
    $scope.msgs.push(data);
});

questionAnswers(1)

yourAnswerToTheQuestion