sockjs-tornádó egy Python szerver oldali megfelelője SockJS-kliens böngésző könyvtár tetején futó Tornado keretet.
Egyszerűsített echo SockJS szerveren nézhet többé-kevésbé, mint:
a tornádó import web, ioloop
a sockjs.tornado import SockJSRouter, SockJSConnection
osztály EchoConnection (SockJSConnection):
& Nbsp; def on_message (self, msg):
& Nbsp; self.send (msg)
Ha __name__ == '__main__ ":
& Nbsp; EchoRouter = SockJSRouter (EchoConnection, "/ echo ')
& Nbsp; app = web.Application (EchoRouter.urls)
& Nbsp; app.listen (9999)
& Nbsp; ioloop.IOLoop.instance (). Start ()
(Hogy néhány példát, ha a teljes verziót).
Feliratkozás SockJS levelezési lista megbeszélések és támogató.
SockJS-tornádó API
SockJS biztosít kicsit más API, mint _tornado.websocket_. Fő különbségek a következők:
- Attól függően, hogy a közlekedés, a tényleges ügyfél kapcsolat esetében előfordulhat, hogy nem lesz ott. Szóval, nincs _self.request_ és más _tornado.web.RequestHandler_ tulajdonságait.
- Megváltozott _open_ callback nevét _on_open_ hogy jobban összhangban állnak más visszahívások.
- Ahelyett, hogy _write_message_, minden üzenetet segítségével _send_ módszerrel. Csak abban az esetben, _send_ a _tornado.web.RequestHandler_ küld a nyers adatokat a kapcsolaton keresztül, anélkül, hogy azt kódoló.
- Van kéznél _broadcast_ funkció, amely elfogadja a listán (vagy bejáró) az ügyfelek és üzenetet küldeni.
Beállítások
Akkor át különböző beállításokat a _SockJSRouter_, egy szótárban:
MyRouter = SockJSRouter (MyConnection, "/ én", dict (disabled_transports = ['WebSocket']))
Deployment
sockjs-tornádó megfelelően működik mögött haproxy, és ajánlott telepítési megközelítést.
Minta konfigurációs fájl található itt.
Ha a napló tele van "FIGYELEM: Connection closed az ügyfél", át _no_keep_alive_ mint _True_ hogy _HTTPServer_ konstruktor:
HTTPServer (app, no_keep_alive = True) .listen (port)
vagy:
app.listen (port, no_keep_alive = True)
Mi az új ebben a kiadásban:
- A támogatás a régebbi simplejson könyvtár verziók
- Fix telepítő script
követelmények :
- Python
Hozzászólás nem található