Accueil > Non classé > COMET : Push HTTP

COMET : Push HTTP

Dans des articles précédents, je découvrais les fonctionnalité de Jetty 6 et de Tomcat 6 pour déconnecter les requêtes HTTP de leur Thread de traitement, ce qui permet de mettre en place de manière efficace du « poll » longue durée depuis un client AJAX, ce qui revient presque a pouvoir faire du « push » du serveur vers le client.

La cinématique est la suivante :

  • Le client initie une connexion HTTP vers le serveur, en tache de fond à l’aide du composant XmlHttpRequest ou d’une iFrame cachée
  • Le serveur reçoit la requête et n’envoie une réponse au client que quand un événement est à présenter.
  • Si au bout de quelques dizaines de secondes le serveur n’a pas d’évènements à pousser vers le client, il renvoie tout de même une réponse qui indique au client de renouveler sa requête afin d’utiliser une connexion fraîche.

Ce modèle de programmation (appelé COMET) a été monté en charge et les resultats sont très bons, moins d’une demi seconde de temps de latence sous une charge très importante.

Google utilise cette technique pour le chat intégré à GMail avec apparement un timeout de l’ordre de 30 secondes. Le client léger (appelé GAD) de la plateforme de call center Genesys d’Alcatel Lucent utilise aussi ce mécanisme avec un timeout de l’ordre 10 secondes

  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :