xmpp xml基本语义
基本语义
9.2.1 消息语义
<message/>节种类可被看作“推”机制,一个实体推信息给其它实体,与 EMAIL 系统中发生的通信类似。所有消息节应该拥有‘to’ 属性,指定有意的消息接收者; 根据接收到那样的一个节,服务器应该路由或传送它到有意的接收者(参考服务器处理用于 相关 XML 节的通用路由与传送规则 XML 节的规则(10 节))。
9.2.2 出席语义 <presence/>元素可被看作基本广播或“出版-订阅”机制,多实体收到他们
已订阅(在这种情况下,网络可利用信息)实体的信息。总的 来说,出版实体应该发送一 个不带‘to’属性的出席节,在这种情况下,与此实体相连的服务器应该广播或复用节给所 有订阅实体。然而,一个出版实体也可能发 送一个带有‘to’属性的出席节,此种情况下, 服务器应该路由或传送节到有意的接收者。参考处理 XML 节(10 节)的服务器规则,用于 通用路由与相关 XML 节的传送规则,并且用于即时消息与出席应用的出席-特定规则 [XMPP-IM]。
9.2.3 IQ 语义
信息/请求,或 IQ,是一个请求-响应机制,与[HTTP]在某些方面相似。IQ
语义让一个实体向其它实体请求或接收其它实体的响应成为可能。请求与响应 的数据内容
由 IQ 无素的直接子元素的命名空间声明定义,并且,交互由请求实体通过使用‘id’属性
来跟踪。因此,IQ 交互遵从结构化数据交换的一个通用模 式,此交换例如得到/结果或设
置/结果(虽然如果合适的话,对一个请求的响应可能会以错误返回):
Requesting
Entity
----------
| <iq type='get' id='1'> |
| ------------------------> |
||
| <iq type='result' id='1'> |
| <------------------------ |
||
| <iq type='set' id='2'> |
| ------------------------> |
||
| <iq type='error' id='2'> |
| <------------------------ |
||
为了加强这些语义,以下规则应用:
1) 对 IQ 节来说,‘id’属性是 REQUIRED。
2) 对 IQ 节来说。‘type’属性是需要的。值必须是以下之一:
*get——节是一个用于信息或需求的请求。
*set——节 供所需数据,设置新值,或替换现存值。
*result——节是成功得到或设置请求的响应。
*error——先前发送得到或设置的相关过程或传送的错误(参考节错误(9.3 节))。
3)收到类型为“get”或“set”的 IQ 请求的实体必须以类型为“result”或“error”的
IQ 响应来响应(响应必须保留请求的‘id’属性)。
4) 收到类型为“result”或“error”的节不准靠发送一个进一步的类型为“result”或
“error”的 IQ 响应节来响应;然而,如以上显示,请求实体可能发送另一个请求(如:一
个类型为“set”的 IQ,为了 供通过得到/结果对发现的所需的信息)。
5) 类型为“get”或“set”的 IQ 节必须包含一个并仅有一个子元素,指定特别的请求或
响应语义。
6) 一个类型为“result”的 IQ 节必须包含 0 或一个子元素。
7) 类型为“error”类型的 IQ 节应当包含在相关“get”或“set”子元素中,并且,必须
包含一个<error/>子元素;
xmpp xml基本语义的更多相关文章
- AmazonOrder xml web语义化
XML Processing Modules — Python 3.7.1 documentation https://docs.python.org/3.7/library/xml.html#xml ...
- 【原】iOS学习42即时通信之XMPP(1)
1. 即时通信 1> 概述 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能 ...
- XMPP协议介绍
一.xmpp协议工作原理 二.XMPP地址模式 三.xmpp消息格式 xmpp xml包括三个元素,message,presence,iq,也翻译做三种节. 在'jabber:client'和'jab ...
- iOS开发-即时通信XMPP
1. 即时通信 1> 概述 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能 ...
- XML学习笔记3——XSD简述
现在的语言,如果不有那么一点OO的影子,都不好意思称之为语言了.在XML的语义约束方面,DTD虽然简单,但是功能不够强大,完全是直白的描述,于是又有了替代DTD的XSD(XML Schema Defi ...
- XML学习笔记2——DTD
在上一篇笔记中,将文档类型分类时,曾经根据文档是否使用并遵守了DTD或Schema来区分为格式良好的XML和有效的XML,那么什么是DTD和Schema呢?DTD和Schema都是用来规范XML文档的 ...
- XMPP协议简介
XMPP(息处理现场协议)是基于可扩展标记语言(XML)的协议.它用于即时消息(IM)以及在线现场探測.XMPP协议採用的是client-server架构,全部从一个client发到还有一个clien ...
- Java使用Schema模式对XML验证
XML允许创作者定义自己的标签,因其灵活的特性让其难以编写和解析.因此必须使用某种模式来约束其结构.目前最流行的这种模式有两种:DTD和SCHEMA,而后者以其独特的优势即将取代DTD模式,目前只是过 ...
- 【XMPP】Smack源码之初步认识
Smack 概述 Smack是一个用于和XMPP服务器通信的类库,由此可以实现即时通讯和聊天. Smack主要优势 非常简单易用,并且有十分强大的 API.只需三行代码就可以向用户发关文本消息: XM ...
随机推荐
- 被拒原因——You have selected the Kids Category for your app, but it does not include the required privacy policy. Please update your app metadata to include a privacy policy URL and ensure that the URL yo
对于一些孩子类的应用,必须加上隐私政策网址(URL),直接截个图吧! 就是你上架的时候,填写应用信息,里面有一个隐私政策网址(URL),望后者不掉坑里了!!!
- Ubuntu 14 添加Windows风格的底部任务栏
习惯了Windows风格的底部任务栏,而Ubuntu 14是没有的,还好有人做好了一个任务栏插件,可以在线安装: 1.打开终端(Ctrl+Alt+T),然后输入下面的命令 sudo apt-get i ...
- Mac Pro 安装 Homebrew 软件包管理工具
Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有 yum,Ubuntu有 apt-get. Mac os 中没有类似的东东,不过有第三方库支持 ...
- Mac Pro 安装 Adobe Photoshop CC for mac V2014 破解版
一.下载 Photoshop CC for mac V2014 原版(.dmg 文件): 百度网盘下载1 百度网盘下载2 百度网盘下载3 百度网盘下载4 百度网盘下载5 百度网盘下载6 百度网盘下载7 ...
- Asp.net 网站防攻击安全设置
针对已解密的_ViewStat参数漏洞整改建议:在<system.web>下添加 <machineKey validation="3DES"/> 禁用脚本调 ...
- [转]看了这个才发现jQuery源代码不是那么晦涩
很多人觉得jquery.ext等一些开源js源代码 十分的晦涩,读不懂,遇到问题需要调试也很费劲.其实我个人感觉主要是有几个方面的原因: 对一些js不常用的语法.操作符不熟悉 某个function中又 ...
- BZOJ4439——[Swerc2015]Landscaping
0.题目: FJ有一块N*M的矩形田地,有两种地形高地(用'#'表示)和低地(用'.'表示) FJ需要对每一行田地从左到右完整开收割机走到头,再对每一列从上到下完整走到头,如下图所示 对于一个4* ...
- word20161130
1. even 偶数 [ǒu shù][词典] even; [数] even number;[例句]在本例中,slot A中有奇数个阵列,slot B中有偶数个阵列.In this example, ...
- sql server 2008 R2 不允许保存更改,您所做的更改要求删除并重新创建以下表
点击菜单栏 [工具]->[选项] 进入如下界面: 将阻止保存要求重新创建表的更改 的勾去掉即可.
- BZOJ 2342: [Shoi2011]双倍回文
Sol Manacher. 非常裸的Manacher啊...为什么有那么多人写Manacher+并查集?Set?Treap?...好神奇... 你只需要在 \(p[i]++\) 的位置加上判断就可以了 ...