Twisted Python

Yoan BlancSun, 10 Sep 2006, ,

At work, I’m playing a lot with Ajax and a couple of weeks ago, I’ve heard about the Comet paradigm.

The idea (that is used by GTalk integration in GMail) is to change the GET idea between Ajax into a PUSH one. In other words, the server gives the data to the client. If you know a little about HTTP 1.1 chunked you’ve got the key of the concept.

One way to do Comet is with the Python framework called Twisted (sorry PHP isn’t a viable way to achieve this goal) and the application construction kit called Nevow. Prefer the subversion version of each.

Come back to Twisted that is a very powerful framework to manage cool networking things like IRC, HTTP, TCP and so one. It works in an event-driven progamming and you can integrate GTK or Qt. Sounds promising, no ?

At the moment, I’ve only played with these tools without touching Comet but I need to try the PUSH way. Stay tuned.

Au boulot, je fais de l’« Ajax comme un fou » comme j’aime le dire. Il y a peu, je suis tombé sur le paradigme nommé Comet qui s’avère être le pendant d’Ajax qui fonctionne en mode GET mais en PUSH. Ceux qui connaissent le mode chunked de HTTP 1.1 comprendront assez aisément comment Comet peut bien fonctionner.

Il est possible d’en faire via les outils Python : Twisted et Nevow. Twisted est un puissant framework qui gère de manière évènementielle tout ce qui est réseau (TCP, UDP, IRC, HTTP, ...) bref un truc bien cool.

Désolé de ne pas vous en donner plus à vous mettre sous la dent, mais à l’heure actuelle, j’ai seulement faire joujou avec Twisted et ne suis pas en mesure de montrer une démo de Comet, tantôt j’espère.

Digg it!, so del.icio.us, blogmarks, reddit.