J'utilise Atmosphere dans mon application Spring MVC pour faciliter le push, en utilisant un transport streaming
.Atmosphère: Plusieurs abonnements sur un seul HttpConnection
Tout au long du cycle de vie de mon application, le client s'abonne et se désinscrit pour de nombreux sujets différents.
L'atmosphère semble utiliser une seule connexion http par abonnement, c'est-à-dire que chaque appel à $.atmosphere.subscribe(request)
crée une nouvelle connexion. Cela épuise rapidement le nombre de connexions autorisées depuis le navigateur vers le serveur atmosphère. Au lieu de créer une nouvelle ressource à chaque fois, j'aimerais pouvoir ajouter et supprimer le AtmosphereResource
aux diffuseurs après sa création initiale.
Cependant, comme AtmosphereResource
est une à une représentation de la demande entrante, chaque fois que le client envoie une requête au serveur, il arrive sur un nouveau AtomsphereResource
, ce qui signifie que je n'ai pas moyen de référencer la ressource originale et l'ajouter au Broadcaster
du sujet.
J'ai essayé d'utiliser à la fois $.atmosphere.subscribe(request)
et d'appeler atmosphereResource.push(request)
sur la ressource renvoyée par l'appel subscribe()
d'origine. Cependant, cela n'a fait aucune différence.
Quelle est la bonne façon d'aborder cela?
J'ai exactement la même question: le client est abonné à de nombreux diffuseurs sur une connexion, avec le client ajout et la suppression des diffuseurs à volonté. Cependant, je ne suis pas allé aussi loin que vous dans mes tests. Avez-vous eu plus loin avec ça? Cela devrait sûrement être possible? Avez-vous essayé la liste de diffusion? – Fletch
@Fletch Yep, ça marche, grâce à quelques conseils des gars sur le canal IRC. Posté ma solution ci-dessous. –