sockjs-торнадо является Python на стороне сервера аналог библиотеки браузера SockJS-клиента, работающего на вершине рамках Торнадо.
Упрощенная эхо SockJS сервер может выглядеть более или менее, как:
от торнадо сети импорта, ioloop
от sockjs.tornado импорта SockJSRouter, SockJSConnection
класс EchoConnection (SockJSConnection):
& NBSP; Def ON_MESSAGE (я, MSG):
& NBSP; self.send (MSG)
если __name__ == '__main__ ":
& NBSP; EchoRouter = SockJSRouter (EchoConnection, '/ эхо ")
& NBSP; приложение = web.Application (EchoRouter.urls)
& NBSP; app.listen (9999)
& NBSP;. ioloop.IOLoop.instance () начать ()
(Обратите посмотреть примеры для полной версии программы).
Подписаться на рассылку SockJS для обсуждения и поддержку.
SockJS-торнадо API
SockJS обеспечивает несколько иной, чем API _tornado.websocket_. Основные отличия:
- В зависимости от транспорта, фактического подключения клиент может или не может быть там. Так, нет _self.request_ и другие свойства _tornado.web.RequestHandler_.
- Изменены _open_ имя обратного вызова _on_open_ быть более последовательным с другими обратных вызовов.
- Вместо того, чтобы _write_message_, все сообщения отправляются с помощью метода _send_. Просто в случае, _send_ в _tornado.web.RequestHandler_ посылает необработанные данные через соединение, без кодирования его.
- Существует удобная функция _broadcast_, который принимает список (или итератор) клиентов и сообщения для отправки.
Настройки
Вы можете пройти различные параметры для _SockJSRouter_, в словаре:
MyRouter = SockJSRouter (MyConnection, '/ мой ", DICT (disabled_transports = [' WebSocket ']))
Развертывание
sockjs-торнадо правильно работает за HAProxy и рекомендуется развертывания подход.
Пример файла конфигурации можно найти здесь.
Если ваш журнал полон "ПРЕДУПРЕЖДЕНИЕ: Соединение закрыто клиента", пройти _no_keep_alive_ в _True_ в _HTTPServer_ конструктора:
HTTPServer (приложение, no_keep_alive = True) .listen (порт)
или:
app.listen (порт, no_keep_alive = True)
Что нового В этом выпуске:
- Добавлена поддержка старшего simplejson библиотеке версии
- Исправлена сценарий установки
Требования
- Python
Комментарии не найдены