jabber协议概述中文版(转载一)
转载自: http://blog.csdn.net/kunp/archive/2004/06/30/30465.aspx
Jabber 协议 概述
Peter Saint-Andre
stpeter@jabber.org
1.4版Jabber服务协议的概述
1. 介绍
Jabber是一个由开源社区发起并领导开发的即时消息和在线状态的系统。Jabber系统和其它即时消息(IM)服务的一个功能上的差别在于Jabber拥有开放的XML协议。在保持Jabber1.0版本有关消息核心以及在线状态的协议的基础上,增加了一些必要的扩展。本文档将对Jabber服务器1.4版的Jabber协议进行介绍。
在XML上下文的数据流中,Jabber开放的XML协议包括三个顶级XML元素:
l
l
l
每一个元素通过属性和名字空间包含大量的数据,这些属性和名字空间都是Jabber的组成部分(但不包括为特殊应用的名字空间应用)。下面将描述整个Jabber协议。如果您想获得关于Jabber系统结构的信息,请查看名为Jabber技术概述的文档(http://docs.jabber.org/general/html/overview.html)。
2. XML流
一个Jabber会话由两个平行的XML流组成,一个从客户端到服务器端,另一个从服务端到客户端。当一个Jabber客户端连接上一个Jabber服务器时,这个客户端将发起一个客户端-服务器的XML流,同时作为响应,服务器也将发起一个服务器-客户端的XML流。所有,
,以及元素都被放在这些XML流的上下文中。下面就有一个例子:
SEND:
SEND:
SEND:to=’jabber.org’
SEND:xmlns=’jabber:client’
SEND:xmlns:stream=’http://ether.jabber.org/streams’>
RECV:
RECV:xmlns:stream=’http://etherx.jabber.org/streams’
RECV:id=’39ABA7D2’
RECV:xmlns=’jabber:client’
RECV:from=’jabber.org’>
(XML for user session goes here)*
SEND:
RECV:
*注意:必须等到当一个元素(特别指一个’jabber:iq:auth’名字空间下的元素)发送了认证信息后,服务器才会同意用户会话进行工作。
没有评论▼