理解术语“扩展” 、“组件”和“插件”在 xmpp 中?
谁能解释一下xmpp中不同的“扩展”,“组件”和“插件”?
can anyone explain the different "extension" ,"component" and "plugin" in xmpp?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想在已接受的答案中添加一些细节。
然后可以通过两种可能的方式来实现该扩展。
插件:直接为XMPP服务器编写,在
ejabberd
中称为模块,在中称为插件开火
。它们在 XMPP 实现之间不可移植,通常用服务器的实现语言(erlang 或 java)编写组件 :实现协议的新功能,通过网络连接到服务器使用Jabber 组件协议。这意味着它可以在服务器之间移植。通常用于传输到其他协议,但一些 PubSub 和 MUC 实现可作为组件使用。
组件协议 XEP-114 相当粗糙且有限,据说要重写有一天。它实际上是一个 backspec,由原始的 jabberd 实现编写而成。
I'd like to add a few details to the accepted answer.
This extension may then be implemented in two possible ways.
plugin: written directly for the XMPP server, called module in
ejabberd
and plugin inopenfire
. They are not portable between XMPP implementations, and are usually written in the implementation language of the server (erlang or java)component : implements new features of the protocol, connected through the network to the server using the Jabber Component Protocol. It means that it is portable between servers. Usually used for transports to other protocols, but some PubSub and MUC implementations are available as components.
The component protocol, XEP-114, is quite rough and limited and is said to be rewritten someday. It is actually a backspec, written from the original
jabberd
implementation.协议的扩展、用于实现部分协议的组件以及插件 em> 一个软件到协议的实现...至少这是我上次为 ejabberd 编写插件时的理解。
An extension to the protocol, a component for implementing part of the protocol and a plugin piece of software to an implementation of the protocol... at least that's my understanding the last time I put together a plugin to ejabberd.