Hi, 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. http://www.samschtigjass.ch 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@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@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python