XMPP的总体架构和Jabber ID

Posted wangle100

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XMPP的总体架构和Jabber ID相关的知识,希望对你有一定的参考价值。

通常XMPP的架构用C/S来实现,但是也并不是强制的,Client和Server,Server和Server之间通过TCP连接来通信。

架构的简单示意图如下:

  C1-----S1----S2----C3
          |
  C2------+---G1===FN1====FC1


    * C1, C2, C3 = XMPP Clients
    * S1, S2 = XMPP Servers
    * G1 = 转换XMPP和其他消息网络的网关
    * FN1 = 其他消息网络
    * FC1 = 其他消息网络上的Clients

Client和Server之间通信的推荐Port号是5222
Server和Server之间通信的推荐Port号是5269

XMPP网络上的每个实体都有一个ID号,这里叫做JID(Jabber Identifier),用来唯一地表示自己的身份。

JID由node identifier,domain identifier和resource identifier组成,只有domain identifier是必须存在的,其他都可选。

举几个例子:
[email protected] client
gmail.com server或gateway
[email protected]/wangxiao client的一个session,表示同一个账号可以多处登陆

node,domain和resource的长度不能超过1023bytes,总长度(算上@,/)不能超过3071bytes。

以上是关于XMPP的总体架构和Jabber ID的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助了解聊天、XMPP、jabber id 等

在公共 XMPP 服务器上创建 jabber id

检查在xmpp服务器中注册的jid(jabber id) - iOS xmpp框架

如何将 custon xmpp/jabber 请求发送到服务器

Jabber - xmpp 冲突

设置了自定义密码的 XMPP/Jabber 服务器?