Vous pouvez utiliser les salles socket.io. Du côté client, émettez un événement ("join" dans ce cas, peut être n'importe quoi) avec un identifiant unique (email, id).
Côté client :
var socket = io.connect('http://localhost');
socket.emit('join', {email: user1@example.com});
Maintenant, du côté du serveur, utilisez ces informations pour créer une pièce unique pour cet utilisateur.
Côté serveur :
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
});
});
Donc, maintenant chaque utilisateur a rejoint une salle nommée après l'email de l'utilisateur. Donc, si vous voulez envoyer un message à un utilisateur spécifique, il vous suffit de
Côté serveur :
io.sockets.in('user1@example.com').emit('new_msg', {msg: 'hello'});
La dernière chose qui reste à faire du côté client est d'écouter l'événement "new_msg".
Côté client :
socket.on("new_msg", function(data) {
alert(data.msg);
}
J'espère que vous comprenez l'idée.