Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343372
  • 博文数量: 82
  • 博客积分: 3353
  • 博客等级: 中校
  • 技术积分: 742
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-20 19:13
文章分类

全部博文(82)

文章存档

2015年(1)

2014年(1)

2013年(1)

2012年(12)

2011年(3)

2010年(25)

2009年(37)

2008年(2)

我的朋友

分类: Python/Ruby

2010-04-02 11:18:43

xmpp介绍与RFC3920学习(2)
1 XML Streams
两个基本定义
a, XML streams(XML流) : 是在网络上两个实体交换XML元素的容器。以XML开始标签开始,以XML结束标签终止。在流的生命周期里,实体可以发送大量的XML元素。包括用于协商流的元素或XML stanzas 。
b, XML Stanza(XML节): 是一个在XML流上从一个实体发往另一个实体的不连续的语意单元。XML节是根节点的直接子节点。仅有的XML节是
    考虑一个客户端和服务器会话的例子,为了连接服务器,客户端必须通过发送一个开始标签初始化XML流,可选的XML版本声明和字符编码支持。服务器端应当响应一个XML流到客户端。一旦客户端完成SASL协商,客户端可以在流上发送大量的XML节,要关闭流,只需发送关闭标签,客户端和服务器将终止下层的TCP连接。
    XML流可以当作是所有XML节的信封。可以示例如下:
   |--------------------|
   |            |
   |--------------------|
   |          |
   |             |
   |
        |
   |--------------------|
   | |
   |             |
   |
         |
   |--------------------|
   |       |
   |            |
   |
              |
   |--------------------|
   | ...                |
   |--------------------|
   |
          |
   |--------------------|
2  Binding to TCP(绑定到TCP)
     在客户端与服务器的通讯中,服务器必须允许客户端共享一个连接,这个连接可以从客户端到服务器发送XML节,也可以从服务器到客户端发送XML节。在服务器之间通讯中,必须有两个TCP连接
3 Stream Attributes(流属性)
initiating entity(开始实体):会话发起的实体,通常是client.
receiving entity(接受实体):会话的另一方,通常是Server.
    流节点有下列属性:
   a,to: 应当仅用于在(initiating entity)开始实体到(receiving entity)接受实体XML流的头部,必须是接受实体的主机名。在接受实体到开始实体的流头部,to属性不应当设置,如果包括to属性,开始实体应当默默忽略。
   b,from: 应当仅用于从"receiving entity"到"initiation entity"实体的XML流的头部。必须设置为接受实体的主机名。在开始实体到接受实体的流头部,from属性不应当设置,如果包括from属性,接受实体应当默默忽略。
   c,id: 应当仅使用于"receiving entity"到"initiating entity"的XML流的头部,这个属性是接受实体创建的一个session关键字,必须在接受实体应用程序一方(通常是服务器)是唯一的。流ID是临界安全的,所以必须是不可重复和不可预料的。在开始实体到接受实体的流头部,id属性不应当设置,如果包括id属性,接受实体应当默默忽略。
   d,xml:lang: 应当包含在开始实体的初始化流头部,来指定在流上的默认语言。如果指定了这个值,接受实体应当记住这个值,并作为初始化流和响应流的默认值。如果没有包括这个属性,接受实体应当为两个流使用配置的默认值,必须包含在响应流的头部。如果开始实体包括'xml:lang'属性,接受实体不能修改或删除它。
   f, version: 最少为"1.0"
总结如下:
            |  initiating to receiving  |  receiving to initiating
   ---------+---------------------------+-----------------------
   to       |  hostname of receiver     |  silently ignored
   from     |  silently ignored         |  hostname of receiver
   id       |  silently ignored         |  session key
   xml:lang |  default language         |  default language
   version  |  signals XMPP 1.0 support |  signals XMPP 1.0 support
 
阅读(727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~