Ответ 1
Как преемник 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)