sockjs-tornado

SockJS Python server implementation on top of Tornado framework
Download

sockjs-tornado Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • Serge S. Koval
  • Publisher web site:
  • http://in-square.net

sockjs-tornado Tags


sockjs-tornado Description

sockjs-tornado is a Python server side counterpart of SockJS-client browser library running on top of Tornado framework.Simplified echo SockJS server could look more or less like:from tornado import web, ioloopfrom sockjs.tornado import SockJSRouter, SockJSConnectionclass EchoConnection(SockJSConnection): def on_message(self, msg): self.send(msg)if __name__ == '__main__': EchoRouter = SockJSRouter(EchoConnection, '/echo') app = web.Application(EchoRouter.urls) app.listen(9999) ioloop.IOLoop.instance().start()(Take look at examples for a complete version).Subscribe to SockJS mailing list for discussions and support.SockJS-tornado APISockJS provides slightly different API than _tornado.websocket_. Main differences are:- Depending on transport, actual client connection might or might not be there. So, there is no _self.request_ and other _tornado.web.RequestHandler_ properties.- Changed _open_ callback name to _on_open_ to be more consistent with other callbacks.- Instead of _write_message_, all messages are sent using _send_ method. Just in case, _send_ in _tornado.web.RequestHandler_ sends raw data over the connection, without encoding it.- There is handy _broadcast_ function, which accepts list (or iterator) of clients and message to send.SettingsYou can pass various settings to the _SockJSRouter_, in a dictionary:MyRouter = SockJSRouter(MyConnection, '/my', dict(disabled_transports=))Deploymentsockjs-tornado properly works behind haproxy and it is recommended deployment approach.Sample configuration file can be found here.If your log is full of "WARNING: Connection closed by the client", pass _no_keep_alive_ as _True_ to _HTTPServer_ constructor:HTTPServer(app, no_keep_alive=True).listen(port)or:app.listen(port, no_keep_alive=True)Product's homepage


sockjs-tornado Related Software