Подтвердить что ты не робот

Последняя рекомендация для кометы в Python?

Я собираюсь внедрить комету на Python (хотя я слышал хорошие вещи об erlycomet, я не волнуюсь о поддержке веб-сервера на основе Erlang в дополнение ко всему остальному в нашем конце). Я нашел несколько возможностей:

(есть и другие варианты, которые взаимодействуют с серверами Java, но меня это не интересуют)

Может ли кто-нибудь сделать рекомендацию среди этих реализаций, учитывая производительность, сообщество и простоту реализации?

4b9b3361

Ответ 1

Я лично использую Orbited, потому что я уже использую Twisted и потому что он кажется зрелым. Twisted имеет приятную долгую историю со многими пользователями, особенно по сравнению с Diesel и Tornado. Орбита действительно построена на Twisted.

Существует хорошая запись в блоге, охватывающая сквозное решение по орбите здесь. Он отправляет данные с python script на сервер STOMP (MorbidQ) на Orbited в Javascript - рендеринг этих данных в виде графика.

Торнадо кажется довольно новым для сцены, я не мог найти извилистую комету, и я не слышал о дизеле. Мне особенно нравится способ, которым Orbited может перенаправить любой тип tcp/ip, но упрощает привязку клиентов javascript с сообщением, передающим серверную копию STOMP.

Ответ 2

Я бы порекомендовал Orbited, если вы хотите написать приложение Comet.

Что делает комету более сложным для реализации (чем, например, приложение Ajax), заключается в том, что вам нужен как клиент (клиент javascript Comet), так и сервер (асинхронный веб-сервер, такой как Twisted), работающий совместно, и это что вы получаете с Orbited - как клиентом javascript, так и сервером.

Оба Tornado и Diesel предоставляют главным образом часть асинхронного сервера, но не хватает важного кода javascript клиента.

Кроме того, вокруг Orbited существует довольно хорошее сообщество, и несколько человек создают с ним классные приложения, на этих страницах показано несколько таких приложений: http://orbited.org/wiki/Sites

Ответ 3

Я также использовал Twisted. Но вместо Орбита, я использую Nevow.Athena. Это очень просто: узнайте больше, прочитав учебник LiveElement.

Ответ 4

Вы остановились на комете? Почему не WebSockets? Если последнее также является вариантом, я хотел бы передать https://github.com/tavendo/AutobahnPython, который реализует WebSockets в Twisted (документация доступна на http://autobahn.ws/python). Он совместим со стандартами, имеет основанный на сообщениях базовый API и расширенный API для обработки на основе фреймов/потоковой передачи и многих других полезных свойств.

Ответ 5

Мой ответ на этот вопрос дает пример нажатия на сервер с помощью autobahn, которая IMHO до сих пор является самой удобной платформой WebSocket, основанной на Twisted. Также доступна реализация JS, а также Android.

Comet полностью заменяется WebSocket, и вы должны рассмотреть возможность использования последнего, если вы не планируете поддерживать IE8 и более старые