Puoi usare socket.io rooms. Dal lato client emette un evento ("join" in questo caso, può essere qualsiasi cosa) con qualsiasi identificatore univoco (email, id).
Dalla parte del cliente:
var socket = io.connect('http://localhost');
socket.emit('join', {email: user1@example.com});
Ora, dal lato server, usa queste informazioni per creare una stanza unica per quell'utente
Lato server:
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.on('join', function (data) {
socket.join(data.email); // We are using room of socket io
});
});
Quindi, ora ogni utente si è unito a una stanza denominata in base all'e-mail dell'utente. Quindi, se vuoi inviare un messaggio a un utente specifico, devi solo farlo
Lato server:
io.sockets.in('user1@example.com').emit('new_msg', {msg: 'hello'});
L'ultima cosa che resta da fare sul lato client è ascoltare l'evento "new_msg".
Dalla parte del cliente:
socket.on("new_msg", function(data) {
alert(data.msg);
}
Spero che tu abbia avuto l'idea.