Wysyłanie wiadomości do określonych podłączonych użytkowników za pomocą webSocket?

Napisałem kod do nadawania wiadomości dowszystko użytkownicy:

Użyty kod: (krótki)

// websocket and http servers
var webSocketServer = require('websocket').server;

...
...
var clients = [ ];

var server = http.createServer(function(request, response) {
    // Not important for us. We're writing WebSocket server, not HTTP server
});
server.listen(webSocketsServerPort, function() {
  ...
});

var wsServer = new webSocketServer({
    // WebSocket server is tied to a HTTP server. 
    httpServer: server
});


    // This callback function is called every time someone
    // tries to connect to the WebSocket server
    wsServer.on('request', function(request) {
    ...
    var connection = request.accept(null, request.origin); 
    var index = clients.push(connection) - 1;
    ...

Proszę zauważyć :

Nie mam żadnych referencji użytkownika, ale tylko połączenie.Wszystkie połączenia użytkowników są przechowywane warray.

Cel : powiedzmy, że serwer NodeJs chce wysłać wiadomość do akonkretny klient (John).

A oto pytanie:

Jak serwer NodeJs wie, jakie połączenie ma John?

Serwer NodeJs nawet nie zna Johna. widzi tylko połączenia.

Więc wierzę, że teraz nie powinienem przechowywać użytkowników tylko przez ich połączenie. Zamiast tego muszę przechowywaćobiekt - który będzie zawierałuserId iconnection obiekt.

A oto mój pomysł:

Po zakończeniu ładowania strony (Dom gotowy) - ustanowienie połączenia z serwerem NodeJs.

Gdy serwer NodeJs akceptuje połączenie - wygeneruj unikalny ciąg i wyślij go do przeglądarki klienta. Zapisz połączenie użytkownika i unikalny ciąg w obiekcie.na przykład {UserID:"6" , value :{connectionObject}}

Po stronie klienta, gdy nadejdzie ta wiadomość - zapisz ją w ukrytym polu lub pliku cookie. (dla przyszłych żądań do serwera NodeJs)

Gdy serwer chce wysłać wiadomość do Johna:

Znajdź identyfikator użytkownika Johna w słowniku i wyślij wiadomość za pomocą odpowiedniego połączenia.

proszę zauważyć, że nie ma tu żadnego kodu serwera asp.net (w mechanizmie wiadomości). tylko NodeJs.

Pytanie:

Czy to właściwy sposób? (czy coś przeoczyłem?)

questionAnswers(3)

yourAnswerToTheQuestion