Package: pyramid_sockjs
pyramid_sockjspyramid_sockjsis agevent-basedSockJSintegration forPyramid.  SockJS interface is implemented as apyramid route. pyramid_sockjs runs inside
a WSGI application rather than WSGI server.  This means all of your previous WSGI/Pyramid experience will be
relevant. Its possible to create any number of different sockjs routes, ie/__sockjs__/*or/mycustom-sockjs/*. You can provide different session implementation
and management for each sockjs route.Gevent based server is required forpyramid_sockjs.
For examplegunicornwith gevent worker.pyramid_sockjsprovides
simple gevent based paster server runner:[server:main]
use = egg:pyramid_sockjs#server
host = 0.0.0.0
port = 8080Example of sockjs route:def main(global_settings, **settings):
    config = Configurator(settings=settings)
    config.add_sockjs_route(prefix='/__sockjs__')

    return config.make_wsgi_app()Client side code:<script src="http://cdn.sockjs.org/sockjs-0.3.4.min.js"></script>
<script>
    var sock = new SockJS('http://localhost:8080/__sockjs__');

    sock.onopen = function() {
      console.log('open');
    };

    sock.onmessage = function(obj) {
      console.log(obj);
    };

    sock.onclose = function() {
      console.log('close');
    };
</script>InstallationInstall virtualenv:$ wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$ python2.7 ./virtualenv.py --no-site-packages sockjsInstall gevent 1.0rc2 (non-Windows):$ ./sockjs/bin/pip install https://github.com/downloads/SiteSupport/gevent/gevent-1.0rc2.tar.gzInstall gevent 1.0rc1 (Windows, 32bit Python 2.7):$ ./sockjs/Scripts/easy_install https://github.com/downloads/SiteSupport/gevent/gevent-1.0rc2.win32-py2.7.exeClone pyramid_sockjs from github and then install:$ git clone https://github.com/fafhrd91/pyramid_sockjs.git
$ cd pyramid_sockjs
$ ../sockjs/bin/python setup.py developTo run chat example use following command:$ ./sockjs/bin/python ./pyramid_sockjs/examples/chat.pySupported transportswebsocket (hixie-76andhybi-10)xhr-streamingxhr-pollingiframe-xhr-pollingiframe-eventsource (EventSourceused from aniframe via postMessage)iframe-htmlfile (HtmlFileused from aniframe via postMessage.)jsonp-pollingLimitationsPyramid sockjs does not support multple websocket session with same session id.gevent does not support Python 3Pyramid sockjs can’t detect client disconnection on heroku.RequirementsPython 2.6/2.7virtualenvgevent 1.0rc2 or greatergevent-websocket 0.3.6 or greatergunicorn 0.14.3 or greaterExamplesYou can find severalexamplesin the pyramid_sockjs repository at github.https://github.com/fafhrd91/pyramid_sockjs/tree/master/examplesLicensepyramid_sockjs is offered under the MIT license.CHANGES0.3.9 (2013-01-08)Use unquote_plus instead of unquote for jsonp transport @DustyHarry0.3.8 (2012-11-15)Update sockjs-protocol-0.3.3Fix TypeError in Session.__str__ methodFix eventsource transport for gevent 1.0b3 version0.3.7 (2012-07-16)Explicitly open session before accept any incoming messages,
for webscoket transport.0.3.6 (2012-06-21)Possible session hijacking #7Use Configurator action for session gc start. #60.3.5 (2012-05-19)fixed close/closed session states for websocket transport.removed gunicorn monkey patche. gunicorn 0.14.3 is required.0.3.4 (2012-05-06)Fixed datetime serialization, assume all datetime objects in utc tz.0.3.3 (2012-05-02)Passrequestto session factory0.3.2 (2012-04-02)Make ‘cookie_needed’ is configuration optionUpdate sockjs-protocol 0.30.3.1 (2012-03-27)Fixed python2.6 compatibility. See #10.3.0 (2012-03-26)Hixie 75/76 websocket protocol added0.2.1 (2012-03-20)Fixed websocket frame with ‘[]’Update cors headers for dev protocol compliance0.2 (2012-03-16)Fixedujsonsupport0.1 (2012-02-23)Initial release