Ви можете використовувати кімнати socket.io. З боку клієнта видайте подію ("приєднатися" в даному випадку може бути будь-якою) з будь-яким унікальним ідентифікатором (електронна пошта, ідентифікатор).
Сторона клієнта:
var socket = io.connect('http://localhost');
socket.emit('join', {email: user1@example.com});
Тепер з боку сервера використовуйте цю інформацію, щоб створити унікальну кімнату для цього користувача
Сторона сервера:
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
});
});
Отже, тепер кожен користувач приєднався до кімнати, названої на електронну адресу користувача. Отже, якщо ви хочете надіслати конкретному користувачеві повідомлення, вам просто потрібно
Сторона сервера:
io.sockets.in('user1@example.com').emit('new_msg', {msg: 'hello'});
Останнє, що залишилося зробити на стороні клієнта, - це прослухати подію "new_msg".
Сторона клієнта:
socket.on("new_msg", function(data) {
alert(data.msg);
}
Сподіваюся, ідея вам зрозуміла