sockjs-tornadă este un server de Python parte omologul de bibliotecă browser SockJS-client care rulează pe partea de sus a cadrului Tornado.
Serverul SockJS ecou simplificata ar putea arata mai mult sau mai puțin ca:
din import web tornadă, ioloop
de la sockjs.tornado SockJSRouter import, SockJSConnection
EchoConnection clasă (SockJSConnection):
& Nbsp; def on_message (auto, msg):
& Nbsp; self.send (msg)
dacă __name__ == '__main__ ":
& Nbsp; EchoRouter = SockJSRouter (EchoConnection, "/ echo")
& Nbsp; app = web.Application (EchoRouter.urls)
& Nbsp; app.listen (9999)
& Nbsp;. Ioloop.IOLoop.instance () start ()
(Ia uita-te la exemple pentru o versiune completă).
Aboneaza-te la lista de discuții SockJS pentru discuții și sprijin.
SockJS-tornadă API
SockJS oferă puțin diferit API decât _tornado.websocket_. Principalele diferențe sunt:
- In functie de transport, conexiune reală client s-ar putea sau ar putea să nu fie acolo. Deci, nu există nici un _self.request_ și alte proprietăți _tornado.web.RequestHandler_.
- A schimbat numele _open_ apel invers a _on_open_ pentru a fi mai în concordanță cu alte callback.
- În loc de _write_message_, toate mesajele sunt trimise folosind _send_ metodă. Doar în caz _send_ în _tornado.web.RequestHandler_ trimite datele primare prin conexiunea, fără codifică o.
- Nu este funcția _broadcast_ la îndemână, care acceptă listă (sau iterator) de clienti si mesaj pentru a trimite.
Setări
Puteți trece diverse setări pentru _SockJSRouter_, într-un dicționar:
MyRouter = SockJSRouter (MyConnection, "/ mea", dict (disabled_transports = ['WebSocket']))
Deployment
sockjs-tornadă funcționează în mod corespunzător în spatele haproxy și se recomandă abordarea de implementare.
Fișier de configurație de poate fi găsit aici.
În cazul în care jurnalul este plin de "AVERTISMENT: Conexiune închisă de către client", trece _no_keep_alive_ ca _True_ la _HTTPServer_ constructor:
HTTPServer (app, no_keep_alive = True) .listen (port)
sau:
app.listen (port, no_keep_alive = Adevărat)
Ce este nou în această versiune:
- Adăugat suport pentru bibliotecă simplejson mai în vârstă Versiunile
- script de instalare fixă
Cerințe :
- Python
Comentariile nu a fost găsit