Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343413
  • 博文数量: 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:17:50

xmpp介绍与RFC3920学习
        
1,概述
xmpp(Extensible Messageing and Presence Protocol)可扩展消息与存在协议
IM(instant messaging)即时消息
xmpp是一个基于开放的可扩展标记语言协议的一个接近实时的消息与存在状态的请求应答协议。
1999年有Jabber开源社区开发。通常基于c/s架构。
C1---S1---S2---C2
      |
     G1
Server的功能:管理客户端的连接,数据的存贮,处理和转发。
Client的功能:通过TCP连接服务器,利用服务器提供的服务。每个认证的客户端可能有多个资源同时连接服务器并分配资源标识。推荐端口是5222
Gateway:特定目的的Server端的服务,主要是xmpp和其他消息协议的相互转换。
 
2,Addressing Scheme(寻址方案)
   使用XMPP通信,必须是有统一的寻址方案,且符合RFC2396[URI](统一资源标识),由于历史原因,xmpp实体地址叫做JID(Jabber标识),由三部分组成:域标识符,节点标识符,资源标识符。
   JID用于标识即时消息用户,和用户连接的资源,例。也可以是其它,例如服务器上多个用户的聊天室是聊天室,'service'是主机名。
   JID的每一部分不超过1023个字节,总共不超过3071个字节(包括@和/)
   域标识符是唯一必须的,通常代表网关或主服务器。域标识符必须是定义在[IDNA]的国际化域名。
   节点标识符是一个可选的以分割放在域标识符之前。它通常是一个使用网络服务的一个实体(例如一个客户端),或其他类型的实体(提供多个用户服务的聊天室)。
   资源标识符是一个可选的标识符,放在域标识符之后,并以'/'分割。通常代表一个特定会话或连接。
阅读(625) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~