首页 > 代码库 > XMPP的总体架构和Jabber ID

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是必须存在的,其他都可选。

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

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

XMPP的总体架构和Jabber ID