码迷,mamicode.com
首页 > 其他好文 > 详细

xmpp xml基本语义

时间:2016-03-26 17:19:09      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

基本语义

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基本语义

标签:

原文地址:http://www.cnblogs.com/supersr/p/5323158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!