Уведомление в реальном времени с использованием Python - PullRequest
3 голосов
/ 23 ноября 2011

Сначала есть TornadoWeb , он асинхронный и неблокирующий, а с другой стороны: Dojo .Если я использую торнадо, как я могу общаться с dojo?

И другая проблема, если я использую решение WSGI, такое как Flask , могу ли я сделать «уведомление» с ними?Или у dojo должно быть «открытое соединение» для общения с сервером, что не выполняется с помощью WSGI?имею в виду;Apache или CherryPy не будут работать с Dojo?

А если WSGI не может общаться с Dojo, как насчет использования Atom или Feeds для программирования уведомлений под WSGI?

NB: уведомление будет разделенона двух: уведомление о продуктах для всех пользователей и уведомление о конкретных пользователях;он будет использовать сессии ...

И последний вопрос, а как насчет WebSockets и HTML5?сервер должен быть совместимым, чтобы использовать эту опцию с браузером?

1 Ответ

3 голосов
/ 23 ноября 2011

Я не уверен, почему Додзё кажется проблемой в общении.

Dojo предоставляет вам оболочки AJAX, которые можно использовать для уведомлений почти в реальном времени в веб-приложении с небольшой нагрузкой, отправляя запрос AJAX каждые 1-5 секунд.

Если в приложении будет много пользователей, частые запросы AJAX могут быстро вызвать слишком большие издержки. К счастью, вам не нужно использовать Dojo для связи с сервером. Вы можете взглянуть на Socket.IO и, если вы хотите придерживаться Python на стороне сервера, gevent-socketio . Он использует лучшие технологии, доступные в веб-браузере (WebSockets, Flash-сокеты, кометы) для обеспечения связи в реальном времени.

Существует также dojox.socket, но я думаю, что он менее надежен (и гораздо менее популярен).

Однако вы должны помнить, что при использовании любого постоянного соединения (будь то WebSockets, Socket.IO или dojox.socket) вам необходим асинхронный сервер, способный поддерживать множество одновременных соединений.

Решение, которое вы выбираете, должно зависеть от самого веб-приложения и его базы пользователей.

...