qq是xmpp协议吗文档格式.docx
- 文档编号:18094365
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:6
- 大小:20.90KB
qq是xmpp协议吗文档格式.docx
《qq是xmpp协议吗文档格式.docx》由会员分享,可在线阅读,更多相关《qq是xmpp协议吗文档格式.docx(6页珍藏版)》请在冰豆网上搜索。
借助于xml易于解析和阅读的特性,使得xmpp的协议能够非常漂亮。
xmpp的即时通讯扩展应用部分是根据ietF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如aim,qq等有功能完整,完善等先进性。
2.xmpp的基本网络结构是怎样的?
xmpp中定义了三个角色,客户端,服务器,网关。
通信能够在这三者的任意两个之间双向发生。
服务器同时承担了客户端信息记录,连接管理和信息的路由功能。
网关承担着与异构即时通信系统的互联互通,异构系统可以包括sms(短信),msn,icq等。
基本的网络形式是单客户端通过tcp/ip连接到单服务器,然后在之上传输xml。
3.xmpp通过tcp传什么了?
传输的是与即时通讯相关的指令。
在以前这些命令要么用2进制的形式发送(比如qq),要么用纯文本指令加空格加参数加换行苻的方式发送(比如msn)。
而xmpp传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了xml格式的纯文本。
这不但使得解析容易了,人也容易阅读了,方便了开发和查错。
而xmpp的核心部分就是一个在网络上分片断发送xml的流协议。
这个流协议是xmpp的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。
所以可
以说,xmpp用tcp传的是xml流。
xmpp协议工作原理:
4.xmpp协议地址格式:
5.xmpp消息格式:
篇二:
基于xmpp协议的手机多方多端即时通讯方案
一、开发背景
1、国际背景
随着internet技术的高速发展,即时通信已经成为一种广泛使用的通信方式。
1996年mirabilis公司推出了世界上第一个即时通信系统icq,不到10年间,即时通信(instantmessaging,简称im)以发展成为了最流行的网络应用之一。
特别是近几年的迅速发展,即时通信的功能日益丰富,它不再是个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、音乐、电视、游戏、电子商务等为一体的综合化信息平台。
2、国内背景
目前国内外及时通信软件im(instantmessenger)形势风起云涌,可谓战况空前,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协议的即使通信软件。
目前im即时通信有四种协议:
1.即时信息和空间协议(impp)
2.空间和即时信息协议(pRim)
3.针对即时通讯和空间平衡扩充的进程开始协议sip
4.xmpp协议:
该协议的前身是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服务器也好,email收发客户端也罢还是现在颇为流行的web形式的email界面,它们都是基于同一套标准。
在这套标准的框架下,各个email相关厂商都各自占据产业链的相应位置,相互合作相互竞争,这才是一个百花齐放的健康竞争环境,而且这种健康竞争最终受益者还是广大用户。
xmpp(www.xmpp.org)由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的服务器端和客户端以及数百万用户。
嗅觉灵敏的google作为开放源代码社区和开放标准的最大受益者,第一时间感受到了这种趋势,所以花重金将gaim的作者挖去google,于是就有了基于xmpp的gtalk。
开放的标准协议会导致产品的竞争更为健康和良性,整个产业链更为完善。
当然产品之间的竞争唯一的趋势就是同质化,产品发展到后期比拼的只有服务。
这一点在传统产业已经被完全验证,互联网产业也不能逃脱。
至于到时用户是选gtalk呢还是选popo呢,就像用户现在选gmail还是163的邮箱一样,可以各有所好。
不过im在扩展功能以及增值服务上还有非常大的竞争余地。
二、xmpp协议介绍
1、xmpp协议概述
xmpp(extensiblemessagingandpresenceprotocol,前称jabber[1])是一种以xml为基础的开放式实时通信协议,是经由互联网工程工作小组(ietF)通过的互联网标准。
xmpp是一种基于xml的协议,它继承了在xml环境中灵活的发展性。
可扩展消息处理现场协议(extensiblemessagingandpresenceprotocol,xmpp)是一种基于可扩展标记语言(extensiblemarkuplanguage,xml)的近端串流式即时通信协议。
它将现场和上下文敏感信息标记嵌入到xml结构化数据中,使得人与人之间、应用系统之间以及人与应用系统之间能即时相互通信。
xmpp协议已被批准为互联网即时通信协议标准。
2、xmpp协议内容
xmpp中定义了三个角色,客户端,服务器,网关。
3、xmpp协议优点
开放—xmpp协议是自由、开放、公开的,并且易于了解。
而且在客户端、服务器、组件、源码库等方面,都已经各自有多种实现。
标准—互联网工程工作小组(ietF)已经将jabber的核心xml流协议以xmpp之名,正式列为认可的实时通信及presence技术。
而xmpp的技术规格已被定义在RFc3920及RFc3921。
任何im供应商在遵循xmpp协议下,都可与googletalk实现连接。
证实可用—第一个jabber(现在xmpp)技术是jeremiemiller在1998年开发的,现在已经相当稳定;
数以百计的开发者为xmpp技术而努力。
今日的互联网上有数以万计的xmpp服务器运作著,并有数以百万计的人们使用xmpp实时传讯软件。
分布式—xmpp网络的架构和电子邮件十分相像;
xmpp核心协议通信方式是先创建一个stream,xmpp以tcp传递xml数据流,没有中央主服务器。
任何人都可以运行自己的xmpp服务器,使个人及组织能够掌控他们的实时传讯体验。
安全—任何xmpp协议的服务器可以独立于公众xmpp网络(例如在企业内部网络中),而使用sasl及tls等技术的可靠安全性,已自带于核心xmpp技术规格中。
可扩展—xml命名空间的威力可使任何人在核心协议的基础上建造客制化的功能;
为了维持通透性,常见的扩展由xmppstandardsFoundation。
弹性佳—xmpp除了可用在实时通信的应用程序,还能用在网络管理、内容供稿、协同工具、文件共享、游戏、远程系统监控等。
多样性—用xmpp协议来建造及布署实时应用程序及服务的公司及开放源代码计划分布在各种领域;
用xmpp技术开发软件,资源及支持的来源是多样的,使得使你不会陷于被“绑架”的困境。
4、xmpp协议缺点
数据负载太重:
随着通常超过70%的xmpp协议的服务器的数据流量的存在和近60%的被重复转发,xmpp协议目前拥有一个大型架空中存在的数据提供给多个收件人。
新的议定书正在研究,以减轻这一问题。
没有二进制数据:
xmpp协议的方式被编码为一个单一的长的xml文件,因此无法提供修改二进制数据。
因此,文件传输协议一样使用外部的http。
如果不可避免,xmpp协议还提供了带编码的文件传输的所有数据使用的base64。
至于其他二进制数据加密会话(encryptedconversations)或图形图标(graphicicons)以嵌入式使用相同的方法。
5、xmpp提供电子名片协议
vcard是一种现存的、广泛使用的,用户个人信息存储的标准,有点像是电子名片。
基础的功能是存储和获取用户的电子身份,该信息是用xml表示的,数据的存储取决于所有现存的jabber服务器的实现。
6、xmpp系统特点
客户机/服务器通信模式、分布式网络、简单的客户端、xml的数据格式。
三、服务器端介绍
1、什么是openfire
openfire采用java开发,开源的实时协作(Rtc)服务器基于xmpp(jabber)协议。
您可以使用它轻易的构建高效率的即时通信服务器.
openfire安装和使用都非常简单,并利用web进行管理。
单台服务器可支持上万并发用户。
由于是采用开放的xmpp协议,您可以使用各种支持xmpp协议的im客户端软件登陆服务.
2、为什么使用openfire
a、openfire为java开源项目
b、采用开放的xmpp协议
c、有多种针对不通系统的版本
d、使用socket通讯
e、单台服务器可支持上万并发用户,搭建分布式云服务器可轻松提供大量并发用户。
F、socket长连接
g、服务器稳定
h、提供接口,可自己开发插件
3、windows下搭建服务器
jdk1.6+openfireForwindows+mysql5.5+tomcat6
4、linux下搭建服务器
jdk1.6+openfireForlinux+mysql5.5+tomcat6
5、mac下搭建服务器
篇三:
xmpp
2345 xmlns=jabber:
client
xmlns:
stream=http_etherx_jabber_org/streams
6version=1.0>
服务器:
1234567 xmlns=jabber:
stream=http_etherx_jabber_org/streamsversion=1.0>
其他
客户端:
1
artthounotRomeo,andamontague客户端:
neither,fairsaint,ifeithertheedislike.服务器:
客户端:
服务器:
以文档的观点来看,客户端或服务器发送的所有xml文本连缀在一起,从到构成了一个完整的xml文档。
其中的stream标签就是所谓的xmlstream。
在与中间的那些...这样的xml元素就是所谓的xmlstanza(xml节)。
xmpp核心协议通信的基本模式就是先建立一个stream,然后协商一堆安全之类的东西,中间通信过程就是客户端发送xmlstanza,一个接一个的。
服务器根据客户端发送的信息以及程序的逻辑,发送xmlstanza给客户端。
但是这个过程并不是一问一答的,任何时候都有可能从一方发信给另外一方。
通信的最后阶段是关闭流,关闭tcp/ip连接。
目前不少im应用系统如:
google公司的googletalk以及jivemessenger等开源应用,都是遵循xmpp协议集而设计实现的,这些应用具有很好的互通性。
[1]
5系统特点编辑
1.客户机/服务器模式;
2.;
3.简单的;
4.的子集的数据格式。
6通俗解释
其实xmpp是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接收的类型,并理解它返回的类型,就可以很好的利用xmpp来进行。
7优劣点
优点
1.xmpp协议是自由、开放、公开的,并且易于了解。
2.互联网工程工作小组(ietF)已经将jabber的核心xml流协议以xmpp之名,正式列为认可的实时通信及presence技术。
3.第一个jabber(现在xmpp)技术是jeremiemiller在1998年开发的,现在已经相当稳定;
4.xmpp网络的架构和电子邮件十分相像;
5.任何xmpp协议的服务器可以独立于公众xmpp网络(例如在企业内部网络中),而使用sasl及tls等技术的可靠安全性,已内置于核心xmpp技术规格中。
6.xml命名空间的威力可使任何人在核心协议的基础上建造定制化的功能;
为了维持通透性,常见的扩展有xmpp标准基金会。
7.xmpp除了可用在实时通信的应用程序,还能用在网络管理、内容供稿、协同工具、文件共享、游戏、远程系统监控等。
8.用xmpp协议来建造及布署实时应用程序及服务的公司及开放源代码计划分布在各种领域;
缺点
1.随着通常超过70%的xmpp协议的服务器的数据流量的存在和近60%的被重复转发,xmpp协议目前拥有一个大型架空中存在的数据提供给多个收件人。
2.xmpp协议的方式被编码为一个单一的长的xml文件,因此无法提供修改二进制数据。
如果不可避免,xmpp协议还提
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- qq xmpp 协议