[Twisted-Python] Noob alert - Looking for a framework for creating a long polling service
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.
On 31.03.2010 22:58, ssteinerX at gmail.com wrote:
> On Mar 31, 2010, at 4:26 PM, Reza Lotun wrote:
>>> 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
> Very cool, I hadn't seen that before.
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
More information about the Twisted-Python