放大啦资源网 http://www.fangdala.com
当前位置首页 > 百科资料> 正文

xmpp协议

2023-01-19 07:33:16 暂无评论 百科资料

XMPP是一种基于标准倒轻通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强氢穿甲序挥八杂的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以聚号将转及在XMPP的顶端建立如内容发布系统和基于地址的服务象弱静等应用程 序。而且,XMP来自P包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

  • 中文名 可扩展通讯和表示协议
  • 外文名 Extensible Messaging and Presence Protocol
  • 外语缩写 XMPP
  • 功能 XMPP用TCP传的是XML流

来自

  全称:可扩展通讯和表示协议

  简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础围源器控慢运,而Jabber是即时通讯中常用的开放式协议。XMPP is the IETF's formalizat停执供少ion of the base X360百科ML streaming protocols f投才or instant messaging and presence developed within the Jabber open-source community in 1999

  XMPP(可扩展消息处理现场协议)是基于可扩展防整帮开居标记语言(XML)的协议呼否为,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的福量从们的表边社准即时操作。这个协议可能最终允许因特网用户种圆免帝件岩显迅慢向因特网上的其他任何人发送即时消息,即使其操作系统和浏首社所布门朝静二干双流览器不同。

  XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议道卫迅变屋威气热距拉。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;

  核心的XML流传输协议

  基于XMLFreeEIM流传输的即时通讯扩展应用

  XMPP的核心XML流传输协议的定紧井先进急套回示甚位义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。

  XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。

  XMPP的扩展协议Jing外政抗受是脚展le使得其支持语音和视频。

  XMPP的官方文档是RFC 3920.

基本网络结构

  XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本飞部始喜垂空的网络形式是单客户端通过TCP/IP连接到单毛入套尔讨头径错细须兵服务器,然后在之上传输XML。

功能

  传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XM沙村叶向PP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。

体应用

  举个例子看看所谓的XML(标准通用标记语言的子集)流是什么样子的?

  客户端:

  服务器:

  客户端:

  客户端来自: <body>Art thou not Romeo, and a Montague?</body>

  客户端:</message>

  服务器:<message 环达余孙from='ro量约家沉相投留meo_example360百科_net'

  to='juliet_example_com'

  xml:lang='zh-cn'>

  服务器:<bod笔年y>Neither块另鸡四判卫停, fair saint, if either thee dislike.</body>

  服务器:</message>

  客户端:</stream:stream>

  服务器:</stream:stream>

  以文档的观点来看,客户端或服务器发送的所有XML文本连缀在一起,从<stream>到</stream>构成了一个完整的XML文档。其中的str被老刑万回防广创支础工eam标签就是所谓的XML Stream。在<stream>与</stream>中间的那些<message>...</message>这样的XML元素就是所谓的XML Stanza(XML节)。XMPP核心协议通信的基本岩序静章清模式就是先建立一个st校消烧ream,然后协商一堆安全之类的东西,中间通信过程就是客户端发送XML Stanza,一个接一个的。服务器根据客户端发送的信息以及程序的逻辑,发送XML Stanza给客户端。但是这个过程并不是一问一答的,任何时候都有可能从一方发信给另外一方。通信的最后阶段是</stream>关闭流,关闭TCP/IP连接。

  目前不少IM应用系统如:Google公司的Google Talk以及J及封也息速首神凯够故自ive Messenger等开源应用,都是遵循XMPP协议集而设计实现的块日练决长波市,这些应用具有很好的互通性史再加儿虽积消六向

系统特点

  客户机/服务器通信模式;

  分统重史造类认或配义错布式网络;

  简单的客户端;

  ​标准通用标记语言的子集XML的数据格式。

通俗解释

 护晚功持统 其实XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同"解包装--〉包装"的过程阻叫径矛条,用户只需要明白它接收的类型,并理解它返回的类型,就脚院处训互附态培可以很好的利用xmp源这p来进行数据通讯

优劣点

优点

  XMP坏级活朝周考与P协议是自由、开放、公开的,并且易于了解。而且在客户端、服务器、组件、源码库等方面,找掉青叶自则七尔都已经各自有多种实现。

  互联网工程工作小组(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及TL等技术的可靠安全性,已内置于核心XMPP技术规格中。

  XML命名空间的威力可使任何人在核心协议的基础上建造定制化的功能;为了维持通透性,常见的扩展有XMPP标准基金会。

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

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

缺点

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

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

猜你喜欢