•XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。
•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消息和数据都要通过xmppserver。
•1.client连接到server
•2.server利用本地目录系统的证书对其认证
•3.client制定目标地址,让server告知目标状态
•4.server查找,连接并进行相互认证
•5.client间进行交互
四、
XMPP地址模式•统一的JID(jabberidentifier)
•JID=[node”@”] domain [
“/”resource ]
“/”resource ]
•domain:服务器域名
•node:用户名
•resource:属于用户的位置或设备
•一个用户可以同时以多种资源与同一个XMPP服务器连接
五、XMPPxml消息格式定义
•xmppxml包括3个元素:简单示例:
•<stram>
• <presence>
•
<status/>
<status/>
• </prensence>
• <message>
•
<body/>
<body/>
• </message>
•
<iq>
<iq>
<bind/>
• </iq>
•</stream>