•XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。
二、XMPP体系架构
XMPP 工作原理说明
•XMPPserver:其内核是一个XMPP路由器,完成基本组件间的数据包交换和路由。
二、XMPP体系架构
•XMPP的基本网络结构,xmpp定义了3个角色
•Client
•Server
•Gateway
•通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。
•客户端利用xmpp(基于TCP/IP)访问server,传输的是XML
•Client--------Server----Client
TCP TCP TCP
•功能:
•1.会话管理器:负责客户端会话认证,在线状态,用户联系表等
•2.数据存储器(XDB):连接数据库系统,保持用户信息、通信日志等
•3.连接器管理器:管理与客户端之间的连接
•4.服务器连接器:管理xmpp服务器之间的连接
•5.传输器:建立xmpp服务器与非xmpp服务器通信
•XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。
XMPP 工作原理说明
•
所有从一个
client
到另一个
client
的
jabber
消息和数据都要通过
xmpp
server
。
•
1.client
连接到
server
•
2.server
利用本地目录系统的证书对其认证
•
3.client
制定目标地址,让
server
告知目标状态
•
4.server
查找,连接并进行相互认证
•
5.client
间进行交互
四、XMPP地址模式
五、 XMPPxml 消息格式定义
四、XMPP地址模式
•
统一的
JID(jabberidentifier)
•
JID=[node
”
@
”
] domain [
“
/
”
resource ]
•
domain:
服务器域名
•
node:
用户名
•
resource:
属于用户的位置或设备
•
一个用户可以同时以多种资源与同一个
XMPP
服务器连接
五、 XMPPxml 消息格式定义
•
xmpp
xml
包括
3
个元素:简单示例:
•
<
stram
>
•
<presence>
•
<status/>
•
</
prensence
>
•
<message>
•
<body/>
•
</message>
•
<
iq
>
<bind/>
•
</
iq
>
•
</stream>