XMPP的实际作用是什么

Abh*_*rma 0 chat xmpp ejabberd websocket

我是 XMPP 的新手。我想将它用于我的聊天应用程序,该应用程序可以通过网络和移动设备访问。我搜索了很多有关 XMPP 后台工作的信息,但找不到很清楚的信息。XMPP的实际作用是什么?XMPP 不是用于传输数据的协议,因为它使用 BOSH 或 Websockets,XMPP 不是用于存储数据,因为许多服务器端实现都使用外部数据库。那么聊天过程中XMPP到底在做什么呢?

Phi*_*ipp 5

XMPP 是一种协议。

协议可以而且通常是分层的。您可以在协议之上构建一个协议。

  • XMPP 分层在 BOSH 或 Websockets 上
  • Websockets/BOSH 位于 HTTP(S) 之上
  • HTTP(S) 位于 TCP 之上
  • TCP 是在 IP 之上分层的
  • IP 在以太网上分层

为了进一步阅读,我建议您熟悉OSI 模型

当您想要创建一个实现 XMPP 协议的应用程序时,您还需要实现其下面的每一层。当你聪明时,你会尝试找到一个库,它为你提供你能找到的最高层及其下面所有层的实现。

或者,当您确实想了解每个协议的确切工作原理时,阅读协议规范并构建自己的协议堆栈将是一个很好的练习,从您的环境允许的最低级别开始并逐渐完善。但是,当您的目标是创建市场就绪的产品时,请不要这样做。由知道自己在做什么的人创建和测试的实现可能会比您将构建的要好得多,并为您节省大量时间。