XMPP协议详解

1、XMPP的基本网络结构是怎样?

xmpp中定义了三个角色,客户端、服务器和网关;通讯可以在这三者之间的任意两者中进行双向进行。服务器同时承担了客户端的信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。

 

2、XMPP协议的网络架构:

XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2Pclient到client的架构,也就是说在大多数情况下,当两个client进行通讯时,他们的消息都是通过server传递的(也有例外,比如在两个client传输文件时).採用这样的架构,主要是为了简化client,将大多数工作放在server端进行,这样,client的工作就比較简单,并且,当添加功能时,多数是在server端进行.

 

3、XMPP通过TCP传输了什么?

传输的是与即时通讯相关的消息指令,在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。而XMPP的核心部分就是一个在网络上分片断发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPP用TCP传的是XML流。

 

4、XMPP的工作原理:

(1)节点连接到server;

(2)server利用本地文件夹系统中的证书对其认证;

(3)节点指定目标地址,让server告知目标状态;

(4)server查找、连接并进行相互认证;

(5)节点之间进行交互.

 

5、XMPP客户端

XMPP 系统的一个设计标准是必须支持简单的client。其实,XMPP 系统架构对client仅仅有非常少的几个限制。一个XMPP client必须支持的功能有:

 

1. 通过 TCP 套接字与XMPP server进行通信;

2. 解析组织好的 XML 信息包;

3. 理解消息数据类型。

MPP client与服务端通过XML 在TCP 套接字的5222 port进行通信,而不须要client之间直接进行通信。

 

6、XMPP服务端

XMPP server遵循两个主要法则:

1、监听client连接,并直接与client应用程序通信;

2、与其它 XMPP server通信;

 

7、XMPP网关

XMPP 突出的特点是能够和其它即时通信系统交换信息和用户在线状况。因为协议不同,XMPP 和其它系统交换信息必须通过协议的转换来实现,眼下几种主流即时通信协议都没有公开,所以XMPP server本身并没有实现和其它协议的转换,但它的架构同意转换的实现。实现这个特殊功能的服务端在XMPP 架构里叫做网关(gateway)。眼下,XMPP 实现了和AIM、ICQ、IRC、MSN Massager、RSS0.9 和Yahoo Massager 的协议转换。因为网关的存在,XMPP 架构其实兼容全部其它即时通信网络,这无疑大大提高了XMPP 的灵活性和可扩展性。

 

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值