[2019-08-19 14:41:01 最后更新]
xmpp 协议中复杂的 server 到 server 端的要求[附一个网友的翻译资料]
1.首先要求使用的端口居然和客户端是不一样的,要求是 5269 端口。这在 openfire 管理后台中是可以看到的。
2.服务器必须实现的功能,可参考 https://www.cnblogs.com/hunts/articles/577902.html
"
12. Core Compliance Requirements
这章总结了XMPP的那些为了合法的实现,服务器及客户端所必须支持的特殊方面,同时也应该支持附加协议。为了compliance的目的,我们描绘了核心协议(必须被任何服务器或客户端支持,不管是否特定的应用)和即时通信协议(只需建立在核心协议上的即时通信和出席应用支持)的差别。Compliance要求应用于这章中指定的所有服务器和客户端;用于即时通信服务器和客户端的Compliance要求,在[XMPP-IM]的相应章节。
12.1. Servers
除所有已定义的关于安全、XML用法及国际化的要求外,服务器MUST支持下面的核心协议,以to be considered compliant:
[NAMEPREP]的应用,用于地址的[STRINGPREP]的Resourceprep profiles(包括保证域标识符是[IDNA]中规范的国际化的域名)
XML流,包括Use of TLS、Use of SASL和Resource Binding
三种定义的节类型的语义(i.e., <message/>, <presence/>, and <iq/>)
产生与流、TLS、SASL及XML节相关的错误的语法和语义
另外,服务器MAY支持以下的核心协议:
服务器回拨
12.2. Clients
客户端MUST支持下面的核心协议,以to be considered compliant:
XML流,包括Use of TLS、Use of SASL和Resource Binding
三种定义的节类型的语义(i.e., <message/>, <presence/>, and <iq/>)
处理与流、TLS、SASL及XML节相关的错误的语法和语义
另外,服务器SHOULD支持以下的核心协议:
产生[NAMEPREP]和[STRINGPREP]的Resourceprep profiles能够成功的应用的地址
"
这其中 "服务器回拨" 最为复杂,幸好它是可选择的(MAY)。
这些内容都来自一位网友对 RFC3920 的翻译,可参考 https://www.cnblogs.com/hunts/articles/549849.html
这地址是一个目录,文档比较大,这位网友又分成了一个索引,在 https://www.cnblogs.com/hunts/archive/2006/11/18/564843.html
3.服务器回拨的相关内容在 https://www.cnblogs.com/hunts/articles/560347.html
可见到是非常复杂的,反正我是不想实现。