sockjs-tornado è un server Python controparte lato della biblioteca del browser SockJS-client in esecuzione sulla parte superiore del quadro Tornado.
Semplificato Server SockJS eco potrebbe apparire più o meno come:
dal tornado import web, ioloop
da sockjs.tornado SockJSRouter import, SockJSConnection
EchoConnection class (SockJSConnection):
& Nbsp; def ON_MESSAGE (self, msg):
& Nbsp; self.send (msg)
if __name__ == '__main__':
& Nbsp; EchoRouter = SockJSRouter (EchoConnection, '/ echo')
& Nbsp; app = web.Application (EchoRouter.urls)
& Nbsp; app.listen (9999)
& Nbsp;. Ioloop.IOLoop.instance () start ()
(Prendere guardate gli esempi per una versione completa).
Iscriviti alla mailing list SockJS per le discussioni e supporto.
SockJS-tornado API
SockJS fornisce leggermente diverso rispetto API _tornado.websocket_. Differenze principali sono:
- A seconda dei trasporti, connessione client effettivo potrebbe o potrebbe non essere lì. Quindi, non c'è _self.request_ e altre proprietà _tornado.web.RequestHandler_.
- Modificato _open_ nome callback per _on_open_ ad essere più coerente con altri callback.
- Invece di _write_message_, tutti i messaggi vengono inviati utilizzando _send_ metodo. Solo nel caso, _send_ in _tornado.web.RequestHandler_ invia i dati grezzi attraverso la connessione senza codificarlo.
- Non vi è comoda funzione _broadcast_, che accetta la lista (o iteratore) di clienti e messaggio da inviare.
Impostazioni
È possibile passare diverse impostazioni al _SockJSRouter_, in un dizionario:
MyRouter = SockJSRouter (MyConnection, '/ mio', dict (disabled_transports = ['websocket']))
Deployment
sockjs-tornado funzioni correttamente dietro haproxy e si raccomanda di approccio di distribuzione.
File di configurazione di esempio può essere trovato qui.
Se il registro è pieno di "ATTENZIONE: Connessione chiusa dal cliente", passare _no_keep_alive_ come _VERO_ al costruttore _HTTPServer_:
HTTPServer (app, no_keep_alive = True) .listen (port)
o:
app.listen (port, no_keep_alive = True)
Cosa c'è di nuovo in questa versione:
- Aggiunto il supporto per anziani biblioteca simplejson Versioni
- script di installazione fissa
Requisiti :
- Python
I commenti non trovato