socket.io v0.8でチャネリングさせた時のIDを指定したemit

前提知識

var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
    var お前のID = socket.id
});

でsocketの識別IDが取れる。識別IDが取れると

var io = exports.io = require('socket.io').listen(app);
io.sockets.socket('ソケットのID').emit('hoge', 'message');

これで自由に送れる。

だが、チャネリングした際には送れない。
このようにせよ。

var io = exports.io = require('socket.io').listen(app);
var chat = io.of('/chat').on('connection', function(socket) {
    socket.on('hello', function(message) {
        if('ソケットのID' in chat.sockets) chat.sockets['ソケットのID'].emit('hello-client', 'message');
    });
});