Server-Sent Events limitation

a marqué ce sujet comme résolu.

Bonjour,

toujours sur mon appli de gestion de calendrier/rendez-vous, sous symfony, entre un télé-conseiller et un client.

je dois gérer le fait qu’un client puisse demander un téléconseiller en direct. En clair le client prend un rendez-vous immédiatement (2 minutes après la prise de rdv en fait), et le conseiller sans recharger la page doit pouvoir voir qu’un rendez-vous a été pris.

Problématique:

  • je dois envoyer depuis le serveur une information au client (du téléconseiller)
  • je n’ai pas le temps de me mettre au websocket et nodejs (mais a terme, je pense utiliser websocket en ce sens)

Solution:

  • soit ajax avec un setInterval à 1 minutes par exemple
  • soit un server-sent events

L’avantage de SSE c’est le fait que la connexion est permanente et donc ne sollicite pas autant le serveur (me semble t’il) mais en lisant, je viens de voir que le nombre de connexion simultanée est limité a 6?

Question:

cela veut dire que je ne peux avoir que 6 téléconseillers simultanés?

Si vous avez des idées? je suis preneur

Je dirais que c’est carrément une limitation du protocole HTTP 1.1. Un navigateur ne peut pas ouvrir plus de 6 connexions en simultanée. SSE ou pas.

Par contre je ne comprends pas pourquoi tu aurais besoin d’autant de connexions SSE ?

Tu as un serveur, et ton client doit uniquement recevoir des évènéments style "mon rdv est pris en charge". Donc en gros le navigateur du client se contente d’appeler GET http://tonserveur.com/sse/rendezvous?userToken=<unTrucQuiIdentifieProprementTonClient>

(ou même encore mieux, pour identifier le client tu utilises un standard genre OAuth2)

Le serveur, de son côté, lui voit l’intégralité des connexions SSE ouvertes, et en fonction de tes règles business (téléconseillé connecté, etc.) tu vas pusher l’info au bon client .

Limite un schéma pourrait mieux nous aider à comprendre là où ça pêche.

+1 -0

Je crois que je me suis un peu embrouillé …

le client prends un rdv et va enregistrer son rendez-vous via un post en base de donnée. à l’enregistrement du rdv, le conseiller doit recevoir une notification pour l’avertir qu’un client l’attend.

j’ai environ 80 conseillers simultanés pour 80 plannings.

Mais la limitation, ce n’est pas 6 SSE, mais bien qu’un seul conseiller ne peut pas suivre plus de 6 plannings à la fois sur un même navigateur (et ce n’est pas plus mal :))

Moi et l’anglais… bref merci, en te lisant j’ai compris mon erreur.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte