lee*_*hin 5 xmpp openfire strophe
我正在尝试使用Openfire和Strophe.js创建聊天应用程序.
我总是阅读有关XEP等的内容,它总是将我重定向到XMPP Extensions,我甚至不知道如何使用这些扩展.这似乎是一个愚蠢的问题,但我可以接受,因为我是XMPP的新手- 但我们如何使用扩展?
Mat*_*ttJ 12
任何提出这个问题的人通常应该从一个XMPP库开始,该库实现了他们已经需要的一切.
它仍然值得一个答案!
XMPP代表eXstensible Messaging and Presence Protocol."可扩展"部分很重要.XMPP基于XML,这是一种支持称为命名空间概念的数据格式.
通过命名空间,您可以向XMPP添加未在原始规范中定义的位.这很重要,因为XMPP规范只是故意描述一组核心内容,例如:
......以及其他一些基本构建模块.
一旦你实现了这个东西,你有一个XMPP客户端,可以发送你喜欢的任何类型的数据!但这也是一个问题.
例如,您可能决定要在消息中包含格式(粗体,斜体等),这在核心XMPP规范中未定义.好吧,你可以想办法做到这一点,但除非其他人都像你一样做,否则其他任何软件都无法解释它(他们只会忽略他们不理解的命名空间).
因此,XMPP标准基金会(XSF)发布了一系列额外文档,称为XMPP增强建议(XEP).通常,每个XEP都描述一个特定的活动(从消息格式化到文件传输,多用户聊天等等),它们为每个人提供了用于该活动的标准格式.
你提到了Strophe.js.这是一个"低级"库,希望您实现自己需要的扩展.我不认为其中大部分都很难,但如果您不熟悉双向协议,基本XML/DOM概念等,则必须花一些时间学习.Strophe.js的作者写了一本好书,它也可以作为XMPP Web开发,使用Javascript和jQuery的Professional XMPP编程的介绍.
XMPP:The Definitive Guide中也详细回答了这个问题,该指南还提供了核心协议和常见扩展的广泛概述.
为了进一步在线阅读XMPP,这个StackOverflow问题可能会给出一些指示:"关于XMPP的好教程?" .
希望这可以帮助!