sockjs-ανεμοστρόβιλος είναι ένα Python Server Side ομόλογό του SockJS-πελάτη βιβλιοθήκη πρόγραμμα περιήγησης που εκτελείται στην κορυφή του πλαισίου Tornado.
Απλοποιημένη διακομιστή ηχώ SockJS θα μπορούσε να εξετάσει περισσότερο ή λιγότερο, όπως:
από ανεμοστρόβιλο web εισαγωγή, ioloop
από sockjs.tornado SockJSRouter εισαγωγής, SockJSConnection
κατηγορία EchoConnection (SockJSConnection):
& Nbsp? Def on_message (self, MSG):
& Nbsp? Self.send (MSG)
αν __name__ == «__main__»:
& Nbsp? EchoRouter = SockJSRouter (EchoConnection, '/ ηχώ »)
& Nbsp? App = web.Application (EchoRouter.urls)
& Nbsp? App.listen (9999)
& Nbsp?. Ioloop.IOLoop.instance () start ()
(Πάρτε δούμε παραδείγματα για μια πλήρη έκδοση).
Εγγραφή σε SockJS λίστα για συζητήσεις και υποστήριξη.
SockJS-ανεμοστρόβιλος API
SockJS παρέχει ελαφρώς διαφορετική API από _tornado.websocket_. Κύριες διαφορές είναι οι εξής:
- Ανάλογα με τις μεταφορές, την πραγματική σύνδεση του πελάτη μπορεί να έχει ή να μην είναι εκεί. Έτσι, δεν υπάρχει _self.request_ και άλλες ιδιότητες _tornado.web.RequestHandler_.
- Άλλαξε _open_ όνομα επανάκλησης να _on_open_ να είναι πιο συνεπής με άλλες επιστροφές κλήσεων.
- Αντί _write_message_, όλα τα μηνύματα που έχουν σταλεί με _send_ μέθοδο. Ακριβώς σε περίπτωση, _send_ σε _tornado.web.RequestHandler_ στέλνει ανεπεξέργαστα δεδομένα μέσω της σύνδεσης, χωρίς να κωδικοποιεί.
- Υπάρχει εύχρηστη λειτουργία _broadcast_, η οποία δέχεται λίστα (ή iterator) των πελατών και να στείλει το μήνυμα.
Ρυθμίσεις
Μπορείτε να περάσετε διάφορες ρυθμίσεις στο _SockJSRouter_, σε ένα λεξικό:
MyRouter = SockJSRouter (MyConnection, '/ μου », dict (disabled_transports = [' WebSocket ']))
Ανάπτυξη
sockjs-ανεμοστρόβιλος λειτουργεί σωστά πίσω haproxy και συνιστάται εγκατάσταση προσέγγιση.
Δείγμα αρχείο ρυθμίσεων μπορεί να βρεθεί εδώ.
Εάν ημερολόγιο σας είναι γεμάτη από "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Η σύνδεση έκλεισε από τον πελάτη», περνούν _no_keep_alive_ ως _True_ να _HTTPServer_ κατασκευαστή:
HTTPServer (app, no_keep_alive = True) .listen (λιμάνι)
ή:
app.listen (λιμάνι, no_keep_alive = True)
Τι είναι καινούργιο σε αυτήν την έκδοση:
- Προστέθηκε υποστήριξη για τους ηλικιωμένους simplejson βιβλιοθήκη εκδόσεις
- Σταθερό script εγκατάστασης
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε