gpt4 book ai didi

xmpp - 什么是 XMPP 扩展 (XEP),如何使用它们?

转载 作者:行者123 更新时间:2023-12-04 16:53:22 29 4
gpt4 key购买 nike

我正在尝试使用 Openfire 制作聊天应用程序和 Strophe.js .

我总是阅读有关 XEP 等的信息,它总是将我重定向到 XMPP Extensions我什至不知道如何使用这些扩展。这似乎是一个愚蠢的问题,但我可以接受,因为我是 XMPP 的新手- 但是我们如何使用扩展?

最佳答案

任何提出这个问题的人通常都应该从一个 XMPP 库开始,该库实现了他们已经需要的一切。

但它仍然值得一个答案!

XMPP 代表可扩展消息传递和存在协议(protocol)。 “可扩展”部分很重要。 XMPP 基于 XML,一种支持称为 概念的数据格式。命名空间 .

通过命名空间,您可以向 XMPP 添加未在 original specifications 中定义的位。 .这很重要,因为 XMPP 规范故意只描述了一组核心内容,例如:

  • 客户端如何连接服务器
  • 加密 (SSL/TLS)
  • 认证
  • 服务器如何相互通信以中继消息

  • ...以及其他一些基本构建 block 。

    一旦你实现了这些东西,你就有了一个 XMPP 客户端,并且可以发送你喜欢的任何类型的数据!但这也是一个问题。

    例如,也许您决定要在核心 XMPP 规范中未定义的消息中包含格式( 粗体 、斜体等)。好吧,你可以想出一种方法来做到这一点,但除非其他人都像你一样这样做,否则没有其他软件能够解释它(他们只会忽略他们不理解的命名空间)。

    所以 XMPP 标准基金会 (XSF) 发布了一系列额外的文档,称为 XMPP 增强提案 (XEP)。一般来说,每个 XEP 都描述了一个特定的事件(从消息格式到文件传输、多用户聊天等等),并且它们为每个人提供了一个标准格式供每个人用于该事件。

    你提到了 Strophe.js .这是一个“低级”库,希望您自己实现所需的扩展。我认为它们中的大多数并不难,但如果您不熟悉双向协议(protocol)、基本的 XML/DOM 概念等,则必须花一些时间学习。 Strophe.js 作者写了一本好书,也可以作为 XMPP Web 开发的介绍, Professional XMPP Programming with Javascript and jQuery .

    XMPP: The Definitive Guide 中也详细回答了这个问题。 ,它还提供了对核心协议(protocol)和常见扩展的广泛概述。

    对于XMPP的进一步在线阅读,这个StackOverflow问题可能会给出一些指示: "Good tutorials on XMPP?" .

    希望这可以帮助!

    关于xmpp - 什么是 XMPP 扩展 (XEP),如何使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164130/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com