Stargate is a package for adding WebSockets support to pyramid applications using the excellent eventlet library for long running connections
From wikipedia:
WebSockets is a technology providing for bi-directional, full-duplex communications channels, over a single TCP socket
The WebSocket protocol provides a persistent low latency, low complexity way to achieve two way communication from the browser to server.
From a client point of view using websocket is very simple:
var ws = new WebSocket('ws://somehost/some/url');
ws.onopen = function(msg){
//do some cool setup
}
ws.onmessage = function(msg){
//do something cool
}
ws.onclose = function(msg){
//do some clean up... stay cool
}
// later:
ws.send('How cool am I?!');
That's pretty much all there is to it.
Normally the websocket communication in a web app is implemented as a stand alone server (perhaps running on a different port). rpz.websocket allows you to connect persistent connection directly to the same objects that serve your HTML.
Note
Still under construction
Documentation is maintained at http://boothead.github.com/stargate
| [WebSockets] | http://en.wikipedia.org/wiki/Web_Sockets |
| [spec] | http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76 |