Разница между серверами Comet и XMPP - PullRequest
0 голосов
/ 07 марта 2012

В моем следующем запланированном проекте я предполагаю внедрить веб-сайт классной комнаты онлайн, на котором я хочу поделиться черной доской (скажем, простой текстовой областью) среди репетитора и участвующих онлайн-студентов {Все они зарегистрированы через веб-сайт}.Независимо от того, какой текст Tutor пишет на Черной доске, его должны видеть другие участники в режиме реального времени.

Я хочу использовать Java в качестве своей платформы разработки.

Чтобы реализовать это, я начал поиск в Google.по технологии PUSH.Я читал, что серверы реализации XMPP и библиотеки XMPP можно использовать для реализации приложений почти реального времени, таких как коллаборативные приложения / многопользовательские игры / приложения для обмена мгновенными сообщениями и т. Д., Но я также читал об использовании BlazeDS для веб-приложений реального времени и веб-приложений с низкой латентностью.*

Мои вопросы:

  1. В чем разница между реализацией XMPP на основе Java и BlazeDS?Не является ли конечной целью обеих технологий достижение веб-приложений с низкой степенью свободы с использованием технологии PUSH?

  2. В чем разница между серверами Comet и серверами XMPP?Они просто отличаются тем, как они реализуют технологию PUSH или что-то еще?

Я в замешательстве.Пожалуйста, кто-нибудь объяснит мне это немного больше, чтобы я знал, что я делаю, прежде чем я что-то сделаю и с чего начать в моем проекте.

Спасибо

1 Ответ

5 голосов
/ 07 марта 2012

Чтобы ответить на ваш первый вопрос: нет, цель XMPP не просто в том, чтобы «достичь веб-приложений с низкой задержкой с помощью технологии PUSH».XMPP намного раньше предшествовал «сети в реальном времени» и является гораздо более обширной платформой, чем базовые кометные / push-серверы.

Функции в XMPP, которые обычно не используются в простых push-серверах, включают:

  • Поддержка не веб-клиентов (включая существующие настольные клиенты)
  • Выбор методов аутентификации от надежных механизмов на основе учетных данных, таких как SCRAM-SHA-1, до временных анонимных учетных записей
  • Поддержка федерации (связь с другими серверами XMPP)
  • Множество возможностей, ориентированных на чат (списки контактов, обмен сообщениями в автономном режиме, передача файлов) - это может быть бонусом или бесполезным, но большинство таких функций могут бытьотключен на некоторых серверах XMPP.

Если вы просто ищете компонент для отправки сообщений посетителям сайта в режиме реального времени, и вы используете Java, с которой BlazeDS тесно интегрируется,тогда BlazeDS - это, вероятно, ваш лучший выбор.

Если ваша система push является частью более крупной платформы реального времени, котораяможет включать в себя несколько клиентов (включая, например, не веб), несколько языков и даже, возможно, несколько серверов (например, вы можете разрешить пользователям использовать существующие учетные записи XMPP для получения обновлений), тогда XMPP, скорее всего, стоит изучить.

...