• XMPP协议介绍


     一、xmpp协议工作原理

     

    二、XMPP地址模式

    三、xmpp消息格式

    xmpp xml包括三个元素,message,presence,iq,也翻译做三种

    在'jabber:client'和'jabber:server'名字空间中定义了三种 XML 节: <message/>, <presence/>, 和 <iq/>. 另外, 这三种节有五种通用的属性.

    通用属性:

    (1)to:'to' 属性表示节的预期接收者的 JID. 

    (2)from:'from' 属性表示发送者的 JID .

    (3)id:可选的'id' 属性可以(MAY)用于为节的内部跟踪发送实体,从 IQ 节 语义来讲,就是通过发送和接收这些节来跟踪“请求-应答”型的交互行为。这个可选的(OPTIONAL)'id'属性值在一个域或一个流中是全局唯一的。

    (4)type:'type' 属性指明message、presence或 IQ的意图或上下文的详细信息。三种节的通用'type'值是"error",其它值很不一样。

    (5)xml:lang:指明缺省语言

    1、presence

    <presence/> 元素可以被看作一个基本的广播或“出版-订阅”机制,用于多个实体接收某个已订阅的实体的信息(在这里,是网络可用性信息).

    2、message

    <message/>节类型可以被看作是一个"push"机制用于一个实体推送信息给另一个实体,类似发生在 email 系统中的通信.

    3、iq

    信息/查询(Info/Query),或曰 IQ,是一个 请求-回应 机制,某些情况下类似[HTTP].

    IQ 语义学使一个实体能够向另一个实体做出请求并做出应答.

    请求和应答所包含的数据定义在 IQ 元素的一个直接的子元素的名字空间声明中, 并且由请求实体用'id'属性来跟踪这一交互行为.

    因而,IQ 交互伴随着一个结构化的数据交换的通用模式例如 get/result 或 set/result。

    四、XML流

    两个基本概念,XML 流和 XML 节。

    XML 流的定义:一个 XML 流是一个容器,包含了两个实体之间通过网络交换的 XML 元素。一个 XML 流是由一个 XML 打开标签 <stream> (包含适当的属性和名字空间声明)开始的,流的结尾则是一个 XML 关闭 L 标签 </stream> 。

    在流的整个生命周期,初始化它的实体可以通过流发送大量的 XML 元素,用于流的握手(例如 TLS 握手 或 SASL 握手) 或 XML 节(在这里指符合缺省名字空间的元素,包括<message/>,<presence/>, 或 <iq/> 元素)。

    XML 节仅限于<message/>, <presence/>, 和 <iq/> 元素。

    流错误:流的根元素可以(MAY)包含一个 <error/> 子元素。

  • 相关阅读:
    OLTP和OLAP区别
    JAVA实现文件树
    商务智能及其实现模型
    Java打印程序设计
    J2EE的昨天,今天,明天
    常用jar包之commonslang使用
    CRM与ERP整合的六个切入点
    常用jar包之commonscollection使用
    软件安全技术
    常用jar包之commonsbeanutils使用
  • 原文地址:https://www.cnblogs.com/549294286/p/3831837.html
Copyright © 2020-2023  润新知