我正在从事一个涉及实时聊天(消息传递,包括群聊)的项目。
之前我曾使用过websockets,所以我开始使用spring-websockets进行此工作,并且阅读了一些有关实现它的最佳方法的文章。然后我遇到了STOMP(作为Websocket的子协议(protocol)),并且由于在 Spring 对STOMP有直接支持,因此实现我应该做的事情有点容易。
但是我的怀疑是,据我了解,STOMP和XMPP是相似的协议(protocol)(消息协议(protocol)),但是我找不到任何解释差异的解释或问题的博客,为什么有人会偏爱另一个?
如果有人解释这两种协议(protocol)有何不同,那将真的很有帮助?
谢谢。
最佳答案
作为Jabber的继任者,XMPP更加专注于即时消息传递,而不是STOMP。 XMPP是可扩展协议(protocol),可以用于其他目的,但是有很多关于IM的内置机制和实现。 STOMP提供了更通用的机制,此处的“消息”指的是广泛的含义。
假设您为项目选择了STOMP。然后,您可能需要为XMPP已经提供的某些方案(点对点,群聊)定义基本消息。
比较两种协议(protocol);
关于spring - STOMP或XMPP-通过websocket,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31108780/