Sie können socket.io Räume verwenden. Auf der Clientseite wird ein Ereignis (in diesem Fall "Beitritt" kann alles sein) mit einer eindeutigen Kennung (E-Mail, ID) ausgegeben.
Kundenseite:
var socket = io.connect('http://localhost');
socket.emit('join', {email: user1@example.com});
Verwenden Sie diese Informationen nun von der Serverseite aus, um einen eindeutigen Raum für diesen Benutzer zu erstellen
Serverseite:
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
});
});
Jetzt ist jeder Benutzer einem Raum beigetreten, der nach der E-Mail-Adresse des Benutzers benannt ist. Wenn Sie also einem bestimmten Benutzer eine Nachricht senden möchten, müssen Sie dies nur tun
Serverseite:
io.sockets.in('user1@example.com').emit('new_msg', {msg: 'hello'});
Das Letzte, was auf der Clientseite noch zu tun ist, ist das Abhören des Ereignisses "new_msg".
Kundenseite:
socket.on("new_msg", function(data) {
alert(data.msg);
}
Ich hoffe du kommst auf die Idee.