即时通信协议之XMPP

目前IM即时通讯有四种协议html

1.即时信息和空间协议(IMPP)安全

2.空间和即时信息协议(PRIM)服务器

3.针对即时通信和空间平衡扩充的进程开始协议SIP网络

4.XMPP协议:架构

该协议的前身是Jabber,分布式

咱们采起XMPP协议主来实现IM主要是考虑XMPP协议是以XML为基础的,它继承了在XML环境中灵活的发展性。工具

这代表XMPP是可扩展的,因此XMPP信息不只能够是简单的文本,并且能够携带复杂的数据和各类格式的文件,也就是说XMPP协议不只能够用在人与人之间的交流,并且能够实现软件与软件或软件与人之间的交流,目前支持XMPP协议的即时通信工具备Gtalk、FaceBook IM、Twitter、网易POPO等等通信工具,具备很是好的发展情景。网站

基于C/S架构的即时通信项目的设计编码

设计基于开源的XMPP即时通讯协议,采用C/S体系结构,经过GPRS无线网络用TCP协议链接到服务器,以架设开源的Openfn'e服务器做为即时通信平台。加密

 系统主要由如下部分组成

一是服务器,负责管理发出的链接或者与其余实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给受权的客户端、服务器等;

二是客户终端。它与服务器相连,经过XMPP得到由服务器或任何其它相关的服务所提供的所有功能。

三是协议网关。完成XMPP协议传输的信息与外部消息系统可识别信息间的翻译。再就是XMPP网络。实现各个服务器、客户端间的链接。

系统采用客户端(Client)/服务端(Server)架构体系结构。

相关项目见博客:hhttp://blog.csdn.net/lnb333666/article/details/7471292

XMPP协议内容

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

XMPP协议优缺点

*优势

开放—XMPP协议是自由、开放、公开的,而且易于了解。并且在客户端、服务器、组件、源码库等方面,都已经各自有多种实现。

标准—互联网工程工做小组(IETF)已经将Jabber的核心XML流协议以XMPP之名,正式列为承认的实时通讯及Presence技术。而XMPP的技术规格已被定义在RFC 3920及RFC 3921。任何IM供应商在遵循XMPP协议下,均可与Google Talk实现链接。

证明可用—第一个Jabber(如今XMPP)技术是Jeremie Miller在1998年开发的,如今已经至关稳定;数以百计的开发者为XMPP技术而努力。今日的互联网上有数以万计的XMPP服务器运做著,并有数以百万计的人们使用XMPP实时传讯软件。

分布式—XMPP网络的架构和电子邮件十分相像;XMPP核心协议通讯方式是先建立一个stream,XMPP以TCP传递XML数据流,没有中央主服务器。任何人均可以运行本身的XMPP服务器,使我的及组织可以掌控他们的实时传讯体验。

安全—任何XMPP协议的服务器能够独立于公众XMPP网络(例如在企业内部网络中),而使用SASL及TLS等技术的可靠安全性,已自带于核心XMPP技术规格中。

可扩展—XML命名空间的威力可以使任何人在核心协议的基础上建造客制化的功能;为了维持通透性,常见的扩展由XMPP Standards Foundation。

弹性佳—XMPP除了可用在实时通讯的应用程序,还能用在网络管理、内容供稿、协同工具、文件共享、游戏、远程系统监控等。

多样性—用XMPP协议来建造及布署实时应用程序及服务的公司及开放源代码计划分布在各类领域;用XMPP技术开发软件,资源及支持的来源是多样的,使得使你不会陷于被“绑架”的困境。

*缺点

数据负载过重:随着一般超过70%的XMPP协议的服务器的数据流量的存在和近60%的被重复转发,XMPP协议目前拥有一个大型架空中存在的数据提供给多个收件人。新的议定书正在研究,以减轻这一问题。

没有二进制数据:XMPP协议的方式被编码为一个单一的长的XML文件,所以没法提供修改二进制数据。所以, 文件传输协议同样使用外部的HTTP。若是不可避免,XMPP协议还提供了带编码的文件传输的全部数据使用的Base64。至于其余二进制数据加密会话(encrypted conversations)或图形图标(graphic icons)以嵌入式使用相同的方法。

总结:XMPP协议的特色是,C/S架构、分布式网络、简单的客户端、XML的数据格式

注意:

XMPP IM 与非XMPP 的其余IM互联互通方法: 若是对方不是XMPP 体系中的用户, 就要在企业IM服务器上架设协议转换网关。在XMPP 的IM服务器上架设IM协议转换网关, 要遵照RFC3922 协议, 这个协议规定了XMPP 与公共显示和即时消息( CPIM)的映射。这里描述一下一个用户与MSN 用户的交流。在与MSN 用户交流以前, 企业IM用户首先设置一个MSN 用户到XMPP—MSN 协议转换网关上( 告诉MSN 的用户与密码给网关) , 如今网关就能够用这个MSN帐号与MSN 系统进行交流了。绑定了MSN 用户的企业IM用户登陆企业IM服务器后, 协议转换网关把MSN 帐号的好友的MSN 帐号返回给用户, 并在里面作了映射, 映射到了本地XMPP 帐号。如今用户能够跟与本地XMPP 用户同样, 与MSN 帐号的用户进行交流了

参考博客:http://www.cnblogs.com/luxiaofeng54/archive/2011/03/14/1984026.html

相关文章
相关标签/搜索