2024年3月18日发(作者:)
竭诚为您提供优质文档/双击可除
qq是xmpp协议吗
篇一:xmpp协议实现原理介绍
xmpp协议实现原理介绍
本文介绍xmpp协议原理及相关信息。xmpp协议简介
xmpp(extensiblemessageingandpresenceprotocol:可扩
展消息与存在协议)是目前主流的四种im(im:
instantmessaging,即时消息)协议之一,其他三种分别为:
即时信息和空间协议(impp)、空间和即时信息协议(pRim)、
针对即时通讯和空间平衡扩充的进程开始协议sip(simple)。
在这四种协议中,xmpp是最灵活的。xmpp是一种基于
xml的协议,它继承了在xml环境中灵活的发展性。因此,
基于xmpp的应用具有超强的可扩展性。经过扩展以后的xmpp
可以通过发送扩展的信息来处理用户的需求,以及在xmpp
的顶端建立如内容发布系统和基于地址的服务等应用程序。
而且,xmpp包含了针对服务器端的软件协议,使之能与另一
个进行通话,这使得开发者更容易建立客户应用程序或给一
1 15
个配好系统添加功能。
1.什么是xmpp?xmpp的前身是jabber,一个开源形式
组织产生的网络即时通信协议。xmpp目前被ietF国际标准
组织完成了标准化工作。标准化的核心结果分为两部分;核
心的xml流传输协议基于xml流传输的即时通讯扩展应用
xmpp的核心xml流传输协议的定义使得xmpp能够在一个比
以往网络通信协议更规范的平台上。借助于xml易于解析和
阅读的特性,使得xmpp的协议能够非常漂亮。xmpp的即时
通讯扩展应用部分是根据ietF在这之前对即时通讯的一个
抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸
如aim,qq等有功能完整,完善等先进性。
的基本网络结构是怎样的?xmpp中定义了三个
角色,客户端,服务器,网关。通信能够在这三者的任意两
个之间双向发生。服务器同时承担了客户端信息记录,连接
管理和信息的路由功能。网关承担着与异构即时通信系统的
互联互通,异构系统可以包括sms(短信),msn,icq等。
基本的网络形式是单客户端通过tcp/ip连接到单服务器,
然后在之上传输xml。
通过tcp传什么了?传输的是与即时通讯相关的
指令。在以前这些命令要么用2进制的形式发送(比如qq),
要么用纯文本指令加空格加参数加换行苻的方式发送(比如
msn)。而xmpp传输的即时通讯指令的逻辑与以往相仿,只
2 15
是协议的形式变成了xml格式的纯文本。这不但使得解析容
易了,人也容易阅读了,方便了开发和查错。而xmpp的核
心部分就是一个在网络上分片断发送xml的流协议。这个流
协议是xmpp的即时通讯指令的传递基础,也是一个非常重
要的可以被进一步利用的网络基础协议。所以可
以说,xmpp用tcp传的是xml流。
xmpp协议工作原理:
协议地址格式:
消息格式:
篇二:基于xmpp协议的手机多方多端即时通讯方案
一、开发背景
1、国际背景
随着internet技术的高速发展,即时通信已经成为一
种广泛使用的通信方式。1996年mirabilis公司推出了世界
上第一个即时通信系统icq,不到10年间,即时通信
(instantmessaging,简称im)以发展成为了最流行的网络
应用之一。特别是近几年的迅速发展,即时通信的功能日益
丰富,它不再是个单纯的聊天工具,它已经发展成集交流、
资讯、娱乐、音乐、电视、游戏、电子商务等为一体的综合
化信息平台。
2、国内背景
目前国内外及时通信软件im(instantmessenger)形势
3 15
风起云涌,可谓战况空前,im作为继email和web之后最主
要的互联网基础应用之一,为商家必争之地。国内的形势由
于qq的垄断性优势明显,表面稍显平静,实则暗流涌动。
目前来看,胖企鹅公司以压倒性优势占据了国内im市场近
八成份额,并且紧紧抓住低端市场,用户数量庞大,盈利丰
厚。其他的im微软msn(wlm)、网易popo、新浪uc、tomskype、
googlegtalk等占有率较为惨烈,还有雅虎即时通、aim、icq
以及传闻中的baiduim和搜狐搜q以及一些目前并不出名的
如校内网的校内通,lava-lava等等等等,凡在国内叫得上
号的叫不上号的互联网企业,几乎没有不推im的,甚至连
中国移动都力推飞信,希望分得一杯羹。然而这些即时通讯
不能实现互联互通,限制了用户的扩展。
3、为什么选择xmpp协议
虽然现在即时通信软件有很多,但是它们之间不能互联
互通也阻碍了及时通信用户的继续扩展。因此,在现阶段的
各种即使通信服务,没有统一的标准,无法实现互联互通的
局面下,而xmpp(extensiblemessageandpresenceprotocol)
协议的出现,实现了整个及时通信服务协议的互通。有了这
个协议之后,使用任何一个组织或者个人提供的即使通信服
务,都能够无障碍的与其他的及时通信服务的用户进行交流。
例如google公司20xx年推出的googletalk就是一款基于
xmpp协议的即使通信软件。
4 15
目前im即时通信有四种协议:
1.即时信息和空间协议(impp)
2.空间和即时信息协议(pRim)
3.针对即时通讯和空间平衡扩充的进程开始协议sip
协议:该协议的前身是jabber,我们采取xmpp
协议主来实现im主要是考虑xmpp协议是以xml为基础的,
它继承了在xml环境中灵活的发展性。这表明xmpp是可扩
展的,所以xmpp信息不仅可以是简单的文本,而且可以携
带复杂的数据和各种格式的文件,也就是说xmpp协议不仅
可以用在人与人之间的交流,而且可以实现软件与软件或软
件与人之间的交流,目前支持xmpp协议的即时通讯工具有
gtalk、Facebookim、twitter、网易popo等等通讯工具,
具有非常好的发展情景。
正如任何事物都有其自身的发展规律一样,技术和产品
的进步也有其自身的规律。从萌芽到混乱最终标准化,这是
互联网产品的基本规律。im跟其实发展自email,跟email
有着很多共同点。让我们来对比一下email目前的情况,或
许会有些启示。email现在已经被广泛应用,谁都不能质疑
其互联网第二应用的地位(第一应用是web)。email之所以
能广泛地被应用最关键的原因应该是email有一套开放标准
的协议规范(包括smtp、pop、imap等),任何人都可以基
于这些协议规范开放自己的email产品,不管是email服务
5 15
器也好,email收发客户端也罢还是现在颇为流行的web形
式的email界面,它们都是基于同一套标准。在这套标准的
框架下,各个email相关厂商都各自占据产业链的相应位置,
相互合作相互竞争,这才是一个百花齐放的健康竞争环境,
而且这种健康竞争最终受益者还是广大用户。
xmpp()由jabber软件基金会开发,最早
在jabber上实现。jabber项目由jeremiemiller在1998年
开始的一个免费、开源的项目,用于提供给msn、yahoo!的
im服务。由于xmpp是一种基于xml架构的开放式协议,在
im通讯中被广泛采用。
xmpp的基础部分已经在20xx-20xx年得到了互联网工程
任务组(ietF)的批准,这意味着xmpp在将来就像我们认为
理所当然的internet协议tcp/ip、http、Ftp、smtp、pop
一样成为internet标准;这意味着以后我们就像使用web、
使用email和使用Ftp一样开放地使用im。甚至若干年后人
们会理所当然地认为163的邮箱可以给hotmail发邮件一样,
qq用户也可以添加gtalk用户,人们会逐渐忘却当年军阀割
据纷乱的历史。这是一种革命性的进步!不支持xmpp的im
将会像ibm的token-Ring一样孤芳自赏或者像decnet协议
一样被人遗忘。遥想当年decnet和ibmtoken-Ring也是多
么意气风发羽扇纶巾啊!
在xmpp被批准之前,世界上已经存在了数十种支持xmpp
6 15
的服务器端和客户端以及数百万用户。嗅觉灵敏的google
作为开放源代码社区和开放标准的最大受益者,第一时间感
受到了这种趋势,所以花重金将gaim的作者挖去google,
于是就有了基于xmpp的gtalk。
开放的标准协议会导致产品的竞争更为健康和良性,整
个产业链更为完善。当然产品之间的竞争唯一的趋势就是同
质化,产品发展到后期比拼的只有服务。这一点在传统产业
已经被完全验证,互联网产业也不能逃脱。至于到时用户是
选gtalk呢还是选popo呢,就像用户现在选gmail还是163
的邮箱一样,可以各有所好。不过im在扩展功能以及增值
服务上还有非常大的竞争余地。
二、xmpp协议介绍
1、xmpp协议概述
xmpp(extensiblemessagingandpresenceprotocol,前
称jabber[1])是一种以xml为基础的开放式实时通信协议,
是经由互联网工程工作小组(ietF)通过的互联网标准。
xmpp是一种基于xml的协议,它继承了在xml环境中灵
活的发展性。因此,基于xmpp的应用具有超强的可扩展性。
经过扩展以后的xmpp可以通过发送扩展的信息来处理用户
的需求,以及在xmpp的顶端建立如内容发布系统和基于地
址的服务等应用程序。而且,xmpp包含了针对服务器端的软
件协议,使之能与另一个进行通话,这使得开发者更容易建
7 15
立客户应用程序或给一个配好系统添加功能。
可扩展消息处理现场协议
(extensiblemessagingandpresenceprotocol,xmpp)是一种
基于可扩展标记语言(extensiblemarkuplanguage,xml)的
近端串流式即时通信协议。它将现场和上下文敏感信息标记
嵌入到xml结构化数据中,使得人与人之间、应用系统之间
以及人与应用系统之间能即时相互通信。xmpp协议已被批准
为互联网即时通信协议标准。
2、xmpp协议内容
xmpp中定义了三个角色,客户端,服务器,网关。通信
能够在这三者的任意两个之间双向发生。服务器同时承担了
客户端信息记录,连接管理和信息的路由功能。网关承担着
与异构即时通信系统的互联互通,异构系统可以包括sms(短
信),msn,icq等。基本的网络形式是单客户端通过tcp/ip
连接到单服务器,然后在之上传输xml。
3、xmpp协议优点
开放—xmpp协议是自由、开放、公开的,并且易于了解。
而且在客户端、服务器、组件、源码库等方面,都已经各自
有多种实现。
标准—互联网工程工作小组(ietF)已经将jabber的
核心xml流协议以xmpp之名,正式列为认可的实时通信及
presence技术。而xmpp的技术规格已被定义在RFc3920及
8 15

发布评论