io.of ('espacio de nombres'). emitir ('evento', mensaje) no funciona con espacio de nombres en socket.io

Tengo una aplicación como esta a continuación:

io.of('/hello').on('connection', function(socket) {
    socket.emit('world', {});
});

app.post('/', function *(next) {
    console.log("At here......");
    var pushMessage = (yield parse.json(this));
    console.log(pushMessage);
    if(flag !== 0) {
//        io.of('/hello/').emit('world', pushMessage);
        io.sockets.emit('world', pushMessage);
    } else {
        console.log("Do Nothing");
    }
});

Recibe una solicitud http y emite un evento. Cuando uso io.sockets.emit funciona bien, pero cuando especifico un espacio de nombres con 'io.of (' hello '). Emitir' no funciona, ¿por qué?

Mi lado del cliente es este:

var socket = io.connect('http://localhost:3000', {
  'reconnection delay': 100,
  'reconnection limit': 100,
  'max reconnection attempts': 10
});
//server side use io.sockets.emit
socket.on('world', function(data) {
  alert(data.a);
});

//if server side use io.of('/hello/').emit
//socket.of('/hello/').on('world', function(data) {
//  alert(data.a);
//});

Respuestas a la pregunta(1)

Su respuesta a la pregunta