Ответ 1
ОБНОВЛЕНИЕ для socket.io версии 1.0 и выше
io.to(socketid).emit('message', 'whatever');
Для более старой версии:
Вы можете хранить каждый клиент в объекте как свойство. Затем вы можете искать сокет на основе сообщения:
var basket = {};
io.sockets.on('connection', function (socket) {
socket.on("register", function(data) {
basket[data.nickname] = socket.id;
});
socket.on("privmessage", function(data){
var to = basket[data.to];
io.sockets.socket(to).emit(data.msg);
});
});
Не тестировалось... но оно должно дать вам идею