【问题标题】:STOMP or XMPP - Over websocketSTOMP 或 XMPP - 通过 websocket
【发布时间】:2015-09-15 12:13:06
【问题描述】:

我正在从事一个涉及实时聊天(消息,包括群聊)的项目。

我以前使用过 websockets,所以我开始使用 spring-websockets 来解决这个问题,并且我阅读了一些关于什么是实现它的最佳方式的信息。然后我遇到了 STOMP(作为 websockets 的子协议),由于春季有对 STOMP 的直接支持,所以实现我应该做的事情有点容易。

但我怀疑 STOMP 和 XMPP 是相似的协议(消息协议),但我找不到任何解释差异的问题/博客以及为什么有人会更喜欢一个?

如果有人解释这两种协议有何不同,那将非常有帮助?

谢谢。

【问题讨论】:

    标签: spring xmpp stomp spring-websocket


    【解决方案1】:

    作为 Jabber 的继任者,XMPP 更专注于即时通讯而不是 STOMP。 XMPP 是一个可扩展的协议,可以用于其他目的,但是有很多关于 IM 的内置机制和实现。 STOMP 提供了一个更通用的机制,这里的“消息”是一个广义的含义。

    假设您为您的项目选择了 STOMP。然后,您可能需要为 XMPP 已经提供的某些场景(点对点、群聊)定义基本消息。

    比较两个协议;

    • STOMP 消息以纯文本形式(如其名称所示)传送,而 XMPP 以 XML 结构。
    • STOMP 连接可以通过 TCP 或 WebSockets 建立。 XMPP 支持 TCP 或 HTTP(WebSocket 标准也是propopsed)。
    • 在 Java 世界中,Spring 具有说话 STOMP 的能力,并且非常容易实现。但是,可以通过添加 3rd Party API(即Smack)来添加 XMPP 支持

    【讨论】:

      猜你喜欢
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2016-08-09
      • 2016-04-26
      • 2015-09-15
      • 2012-11-03
      • 2017-06-05
      相关资源
      最近更新 更多