[Twisted-Python] Noob alert - Looking for a framework for creating a long polling service

Werner Thie wthie at thiengineering.ch
Thu Apr 1 03:12:31 EDT 2010


I'm a long term user of twisted with nevow on top mainly using the 
athena part with LivePage and LiveElement for RPC between Python and 
JScript. nevow/athena opens up a whole new world of transparently 
calling from server to browser and vice versa on a permanent connection. 
With a slight change (three lines) a nevow/athena 'permanent connection' 
also survives network outages of up to a minute like the ones 
experienced in mobile 3G networks.

Recently I've combined twisted/nevow with qooxdoo http://www.qooxdoo.org 
allowing injection/removal of widgets including code into a livepage 
thus providing not only a 'real app' but a real desktop user experience 
in a browser.

If you want to have a look at some demos please feel free to hit

http://nqx.thieprojects.ch          minimal nevow/qooxdoo samples
http://telinfo.thieprojects.ch      Swiss telephone book lookup
http://differenzler.thieprojects.ch Minmal Jass cardgame

To see code (use Firebug, JScript is not obfuscated) done starting from 
2006 till recently.

Part of the above mentioned technology was used in a larger card game 
setup for the Swiss National TV providing a multi player game site with 
various games of Jass. Currently around 25k games are played by about 
70k users a day.


The 'Einzelspieler-Version' can be played without logging in.

I've also written experimental stuff bridging XMPP and browser with 
nevow/athena, using XMPP/pubsub for real time data exchange, though for 
this I have no public available samples.

This is definitely a plug but after four years of working in the field 
of RIAs it seems to me that nevow/athena is the most advanced of all 
implementations revolving around 'long polling', permanent connections, 
websockets and related technologies. It solves a host of problems which 
you have to tackle when using other technologies.

HTH, Werner

On 31.03.2010 22:58, ssteinerX at gmail.com wrote:
> On Mar 31, 2010, at 4:26 PM, Reza Lotun wrote:
>> Hi,
>>> I am looking for a framework for doing a long polling service where :
>>> clients would connect to a soecific 'channel' and wait for a response
>>> Where a client admin would push a response only to clients connected to the
>>> same channel
>> There is a project built on top of Twisted that does exactly this,
>> called Orbited (http://orbited.org/). It works, and I use it for
>> internal real-time stats web pages. The one caveat I have with it is
>> that it recently appears to be somewhat inactive - though I use it so
>> much I might fork it and continue development ;-)
> It seems to have completely stalled just before the big 0.8 refactoring effort.
> Have you continued, or do you plan to continue development where it was left off?
> They all seem to have gone off to play with node.js instead.
>> If you're looking for a scalable, long-polling queue broadcaster *in
>> general*, I highly suggest nginx_http_push - an addon module for the
>> popular C-based asynchronous web server nginx
>> (http://pushmodule.slact.net/).
> Very cool, I hadn't seen that before.
> S
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

More information about the Twisted-Python mailing list