zoukankan      html  css  js  c++  java
  • 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/>子元素; 

  • 相关阅读:
    韦大仙--Katalon---一款好用的selenium自动化测试插件
    Python之路,Day3
    Python之路,Day2
    Python之路,Day1
    Python基础02 基本数据类型
    Python基础01 Hello World!
    韦大仙--LoadRunner压力测试:详细操作流程
    韦大仙--python对文件操作 2--写入与修改
    韦大仙--python对文件操作
    更新pip10后 ImportError: cannot import name ‘main'
  • 原文地址:https://www.cnblogs.com/supersr/p/5323158.html
Copyright © 2011-2022 走看看