XMPP协议
2017-07-26 本文已影响15人
Mr_不靠谱_先森
XMPP协议
XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。
在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能
系统特点
- 客户端和服务器通信模式
- 分布式网络
- 简单的客户端
- xml的数据格式
工作原理
- 从一个client到另一个client的消息数据都要通过xmpp server
- client连接到server
- server利用本地目录系统的证书对其认证
- client指定目标地址 让server告知目标状态
- server查找 连接并进行相互认证
- client间进行交互
地址模式
统一的JID
JID=用户名@服务器域名/属于用户的位置和设备
消息格式定义
包含三个元素 presence message iq
- presence 确定用户的状态 从哪到哪
- message 用于两个用户之间发送消息
- iq 信息请求 主要属性 get 获取当前阀值 set 设置或替换get查询的值 result 说明成功的响应了先前的查询 error 查询和响应中出现的错误