2015-06-29 3 views
15

Я работаю над проектом, который включает чат в режиме реального времени (обмен сообщениями, включая групповые чаты).STOMP или XMPP - Over websocket

Я работал с веб-сайтами раньше, поэтому начал работать над этим с помощью весенних веб-грейферов, и я кое-что прочитал о том, что является лучшим способом его реализации. Затем я столкнулся с STOMP (как суб-протокол для веб-карт), и поскольку прямая поддержка STOMP весной, было легко достичь того, что я должен был делать.

Но я сомневаюсь, насколько я понимаю, что STOMP и XMPP - это аналогичные протоколы (протоколы обмена сообщениями), но я не мог найти никаких вопросов/блогов, где объясняются различия и почему кто-то предпочёл бы один за другим?

Будет полезно, если кто-нибудь объяснит, как эти два протокола отличаются друг от друга?

спасибо.

ответ

15

Как преемник Jabber, XMPP больше ориентирован на обмен мгновенными сообщениями вместо STOMP. XMPP является расширяемым протоколом и может использоваться для других целей, но существует множество встроенных механизмов и реализаций, касающихся IM. STOMP предлагает более общий механизм, и «сообщение» здесь относится к широкому значению.

Предположим, вы выбрали STOMP для своего проекта. Тогда вам, вероятно, потребуется определить основные сообщения для определенных сценариев (одноранговый, групповой чат), которые уже предлагаются XMPP.

Для сравнения двух протоколов;

  • Сообщение STOMP передается как обычный текст (как указано в его названии), тогда как XMPP структурирован как XML.
  • Соединения STOMP могут быть установлены через TCP или WebSockets. XMPP поддерживает TCP или HTTP (стандарт WebSocket также равен propopsed).
  • В Java-мире Spring имеет возможность говорить STOMP, и его очень легко реализовать. Однако поддержка XMPP может быть добавлена ​​путем добавления сторонних API (то есть Smack)

 Смежные вопросы

  • Нет связанных вопросов^_^