我正在开展一个涉及实时聊天(消息传递,包括群聊)的项目。
之前我曾使用过websockets,所以我开始使用spring-websockets开始研究它,我做了一些关于实现它的最佳方法的阅读。然后我遇到了STOMP(作为websockets的子协议),因为在春天直接支持STOMP,实现我应该做的事情有点容易。
但我的疑问是,就我的理解STOMP和XMPP是类似的协议(消息传递协议),但我找不到任何问题/博客,其中解释差异,为什么有人更喜欢一个而不是另一个?
如果有人解释这两种协议有何不同,那将会非常有用吗?
谢谢。
答案 0 :(得分:18)
作为Jabber的继任者,XMPP更专注于即时消息而不是STOMP。 XMPP是一种可扩展的协议,可以用于其他目的,但有很多关于IM的内置机制和实现。 STOMP提供了更通用的机制,这里的“消息”指的是广泛的含义。
假设您为项目选择STOMP。然后,您可能需要为XMPP已经提供的某些场景(点对点,群聊)定义基本消息。
比较两种协议;