XMPP RFCs 1.0基本协议

XMPP RFCs 1.0基本协议 <script language="javascript" type="text/javascript">document.title="XMPP RFCs 1.0基本协议 - "+document.title</script>

1.1概述

以下图表提供了这个体系结构的高级概述(当“-”表示使用XMPP通信,“=”表示使用其它协议)

C1----S1---S2---C3
         |
   C2----+--G1===FN1===FC1
 
   符号表示:
     C1, C2, C3 = XMPP 客户端
    S1, S2 = XMPP  服务端
G1 = 在XMPP和使用外部消息网络(非XMPP)的协议之间转换的网关
FN1 = 外部消息网络
FC1 = 外部消息网络的客户端
 
1.2服务
    服务系统是XMPP通信的智能提取层,它主要负责:
    ·管理来自其他个体的会话连接或者XML流(streams)和来自客户端、服务器、其他个体的认证
·发送在XML流实体之中的适当的XML地址节点。
大多数XMPP服务都允许存储一些客户端数据(比如联系人列表),在这种情况下,服务直接面向这个客户端处理XML数据,而不是其他个体。
 
1.3客户
   大多数客户端是通过TCP直接连接,并且使用XMPP获得服务器提供全部功能和其他服务。许多资源通过认证的客户端也许同时连接到服务器,定义在XMPP地址的每个资源是不同的(比如<node@domain/home>和<node@domain/work>)建议服务器和客户端采用的端中是5222。
 
1.4网关
   它的主要功能是将XMPP协议转换成外部消息(non-XMPP)系统使用的协议,也将返回的数据转换成XMPP。这些通信是基于网关和服务器,基于网关和外部消息系统之间的。

 

1.5网络

   因为每个服务器都是由网络地址定义的,并且server-to-server通信是直接从client-to-server协议扩展出来的,实际上,系统是由局域网服务器网络组成的。

XMPP Specs

The base specifications of the Extensible Messaging and Presence Protocol (XMPP) formalize the core protocols developed within the Jabber open-source community in 1999. They were produced by the IETF's XMPP Working Group and published as RFCs in October, 2004.

Note: Only the ASCII version is normative!

RFCShort NameFormatsDescription
RFC 3920XMPP CoreText | HTMLXML streams, SASL, TLS, stringprep profiles, stanza semantics
RFC 3921XMPP IMText | HTMLXMPP extensions for basic instant messaging and presence
RFC 3922XMPP CPIMText | HTMLMapping XMPP to the IETF's CPIM specifications
RFC 3923XMPP E2EText | HTMLEnd-to-end signing and object encryption for XMPP

Many XMPP extensions are defined in the JEP series produced by the Jabber Software Foundation, and several XMPP-related Internet-Drafts are currently under consideration within the IETF.

 

连接服务器:
SENT: <stream:stream to="jabber.cn" xmlns="jabber:client" xmlns:stream=" http://etherx.jabber.org/streams" version="1.0" >
RECV: <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' id='43FEAEE5' xmlns='jabber:client' from='jabber.cn' version='1.0'>
RECV: <stream:features><register xmlns='http://jabber.org/features/iq-register'/><auth xmlns='http://jabber.org/features/iq-auth'/></stream:features>
登录(身份验证):
SENT: <iq id="jcl_103" type="get"><query xmlns="jabber:iq:auth"><username>renziyi</username></query></iq>
RECV: <iq id='jcl_103' type='result'><query xmlns='jabber:iq:auth'><username>renziyi</username><digest/><password/><resource/></query></iq>
SENT: <iq id="jcl_104" type="set"><query xmlns="jabber:iq:auth"><username>renziyi</username><resource>Exodus</resource><digest>2ee43612345655d3279a45227ede2969c7</digest></query></iq>
RECV: <iq id='jcl_104' type='result'/>
下载好友名单:
SENT: <iq id="jcl_105" type="get"><query xmlns="jabber:iq:roster"/></iq>
RECV: <iq id='jcl_105' type='result' from='renziyi@jabber.cn/Exodus'><query xmlns='jabber:iq:roster'><item jid='renzy@jabber.cn' name='renzy' subscription='to'><group>Friends</group></item></query></iq>
更改自己状态为上线:
SENT: <presence><c node=" http://exodus.jabberstudio.org/caps" ver="0.9.1.0" xmlns=" http://jabber.org/protocol/caps"/><status>Available</status><priority>1</priority></presence>


http://blog.csdn.net/snaill/archive/2006/04/08/655482.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值