2017-02-03 3 views
1

J'ai une application web dans laquelle un enseignant crée un cours et est capable de télécharger des documents et d'ajouter des étudiants à la classe. Les étudiants peuvent également rejoindre la classe d'un enseignant particulier et télécharger tout matériel téléchargé. Lorsqu'un enseignant télécharge un article dans une classe particulière, un événement serveur envoyé est envoyé à chaque client connecté et, à partir du client, des vérifications sont effectuées pour déterminer si cet événement concerne le client. Voici un exemple de code:Envoyer SSE à des clients spécifiques

let eventSource = new EventSource(url); 
eventSource.onmessage = function(event){ 
    if(joinedClasses.indexOf(event.data.class) !== -1){ 
    //notify the user. 
    } 
    //else just discard the message. 
} 

Je veux savoir si cela est la bonne façon de le faire ou devrais-je utiliser (Long) Polling ou une autre méthode. Merci.

+0

Cela doit être fait côté serveur. Quel langage/framework utilisez-vous au niveau du serveur? – Mario

+0

@Mario. J'utilise Java API de Java – Dapope

Répondre

0

Selon la structure de votre back-end, vous pouvez essayer avec 3 approches différentes:

1) Envoi de l'ID utilisateur en tant que paramètre GET, de cette façon que vous auriez flux spécifique pour chaque utilisateur.

2) L'autre façon est d'avoir des événements différents côté serveur, puis le client écoute uniquement les événements qui leur sont pertinents.

3) Si vous n'avez pas de base de données, des sessions peuvent également être utilisées dans certains cas.