stargate is a pyramid plugin for adding WebSockets support to pyramid applications using the excellent eventlet library for long running connections.
What is a WebSocket?
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.
Documentation
Documentation is maintained at http://boothead.github.com/stargate
References
[WebSockets] http://en.wikipedia.org/wiki/Web_Sockets
[spec] http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76
Product's homepage
Requirements:
· Python
· pyramid
What's New in This Release: [ read full changelog ]
· Add support for the HyBi version of WebSockets (specifically version-10). This version was released to solve some previous security concerns and will be the version in Firefox 7/8 and Chrome 14 onwards accoring to Wikipedia. - Introduces a dependency on ws4py
· See http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10