XMPP(1)

作者: 随风飘荡的小逗逼 | 来源:发表于2016-09-28 11:56 被阅读43次

一、概念

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

XML节

XML节通过XML流来发送,XMPP定义了三种顶级XML节

XMPP给这三种节定义了五种通用属性

to

from

id

type

xml:lang

to属性指定接收节的JID。

from属性指定发送者的JID。

id属性是可选的。并且,在接收应用(通常是一个服务器)中是唯一的。注意:流ID可能是严格安全的,并且因此必须是即不能预测也不能重复的

type属性指定目的或消息上下文,出席或IQ节的详细信息。

iq节的type属性有:Error,Get,Result,Set;

presence节的type属性有:Available,Subscribe,Subscribed,Unsubscribe, Unsubscribed,Unavailable,Probe,Error,Invisible;

message节的type属性有:Chat,Error,GroupChat,Headline,Normal

xml:lang属性值指定任意可读XML字符数据的缺省语言

节定义了消息语义,节可被看作“推”机制,一个实体推信息给其它实体,与EMAIL系统中发生的通信类似。所有消息节应该拥有‘to’属性,指定有意的消息接收 者;根据接收到那样的一个节,服务器应该路由或传送它到有意的接收者。

message用于“发送后即忘”的传输(发送后不验证消息是否接收成功),这样的传输主要应用与人类可读的文本、警告、通知等信息。

节定义了出席语义,节可被看作基本广播或“出版-订阅”机制,多实体收到他们已订阅(在这种情况下,网络可利用信息)实体的信息。总的来说,出版实体应该发送一个 不带‘to’属性的出席节,在这种情况下,与此实体相连的服务器应该广播给所有订阅实体。然而,一个出版实体也可能发送一个带有‘to’属性的出席节,此 种情况下,服务器应该路由或传送节到有意的接收者。

presence用于向那些订阅实体广播网络可用性。

节定义了请求语义,节可被看作一个请求-响应机制,与[HTTP]在某些方面相似。IQ语义让一个实体向其它实体请求或接收其它实体的响应成为可能。请求与响应的 数据内容由IQ无素的直接子元素的命名空间声明定义,并且,交互由请求实体通过使用‘id’属性来跟踪。因此,IQ交互遵从结构化数据交换的一个通用模 式,此交换例如得到/结果或设置/结果(虽然如果合适的话,对一个请求的响应可能会以错误返回)。

iq节用于可靠传输 -- 结构化交流数据控制、错误包括、配置和类似的信息(这些通常是人类不可读的信息)。

相关文章

  • XMPP基础

    概要 1、即时通讯技术简介2、XMPP诞生的由来3、XMPP特点4、XMPP的基本结构5、XMPP工作原理6、XM...

  • 聊天功能了解

    即时通讯 1.XMPP(http://xmpp.org) 1.概念 XMPP是一种基于标准通用标记语言的子集XML...

  • XMPP(1)

    一、概念 以文档的观点来看,客户端或服务器发送的所有XML文本连缀在一起,从到构成了一个完 整的XML文档。其中的...

  • 02-即时通讯-XMPP 简单介绍

    XMPP是什莫 1.XMPP:可扩展通讯和表示协议 2.XMPP是一种基于XML的即时通讯 3.XMPP的官方文档...

  • XMPP详解

    1. xmpp简介 XMPP 是一组基于 XML 的技术。用于实时应用程序。最初。XMPP 作为一个框架开发。目标...

  • XMPP (小明屁屁?) 麦盖鬼?

    一. 麦盖系XMPP? 1.XMPP (可扩展通讯和表示协议) 2.XMPP是一个机遇XML的及时通讯协议, 官方...

  • 即时通讯

    1、是否使用过XMPP,XMPP的实现原理 1、XMPP是一个即时通讯的协议,它规范了用于即时通信在网络上数据传输...

  • xmpp协议初识

    XMPP简介 XMPP协议简介 XMPP协议(Extensible Messaging and PresenceP...

  • 基于XMPP的聊天实现 - iOS

    XMPP教程(1) - 搭建本地环境 一 准备工作 XMPP官网 1.安装adium和spark客户端 点击下载 ...

  • iOS的XMPPFramework简介(蔡哲永)

    1登录和好友上下线 1.1XMPP中常用对象们 XMPPStream:xmpp基础服务类 XMPPRoster:好...

网友评论

      本文标题:XMPP(1)

      本文链接:https://www.haomeiwen.com/subject/sawcyttx.html