Jabber客户端-XMPP应用
2012-05-30 17:36
344 查看
http://wangruwei.blog.51cto.com/186868/47633
XMPP: Extensible Messaging and Presence Protocol Detail: http://www.xmpp.org/可扩展消息处理现场协议, 是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。
XMPP是一个流化XML[XML]元素的协议,用于准实时的交换消息和出席信息。XMPP的核心功能定义在Extensible Messaging and Presence Protocol (XMPP): Core XMPP-CORE. 这些功能 -- 主要是 XML流, 使用 TLS和SASL,以及流的根元素之下的<message/>, <presence/>, 和 <iq/> 子元素 -- 为各种类型的准实时应用提供了一个构造基础,
它可以被放在核心的顶层,使用特定XML名字空间[XML-NAMES]发送特定的应用数据. 我很想描述XMPP核心功能的扩展和应用,时间关系及理解的不是很透彻,也不敢乱发言;XMPP核心功能提供了RFC 2779 [IMP-REQS]定义的基本的即时消息和出席信息功能。
比较好的开源代码有:mobber和Jabber,一个代码简单易懂,另外一个功能比较全;本人比较喜欢的网站是:http://www.jabber.org/,里面有好多基于各种系统的源代码,只要愿意借鉴,只管拿来就可以啦。
以下是本人在借鉴mobber和Jabber源代码的基础上开发的手机Jabber客户端部分界面:
1、登录界面
2、好友列表
3、设置好友界面
为了更好的了解XMPP协议,附上XMPP协议说明,可以在此基础上开发更多的客户端。
【附】XMPP协议说明
基本的jabber客户端必须实现以下标准协议(XEP-0211)
1、RFC3920 Core http://tools.ietf.org/html/rfc3920
2、RFC3921 Instant Messaging and Presence http://tools.ietf.org/html/rfc3921
3、XEP-030 Service Discovery http://www.xmpp.org/extensions/xep-0030.html
4、XEP-0115 Entity Capabilities http://www.xmpp.org/extensions/xep-0115.html
基本的jabber服务器必须实现以下标准协议(XEP-0212)
1、RFC3920 Core http://tools.ietf.org/html/rfc3920
2、RFC3921 Instant Messaging and Presence http://tools.ietf.org/html/rfc3921
3、XEP-030 Service Discovery http://www.xmpp.org/extensions/xep-0030.html
一、注册
XEP-0077 In-Band Registration http://www.xmpp.org/extensions/xep-0077.html
二、登录
XEP-0020 Software Version http://www.xmpp.org/extensions/xep-0092.html
三、好友列表
XEP-0083 Nested Roster Groups http://www.xmpp.org/extensions/xep-0083.html
1、获取好友列表
2、存储好友列表
XEP-0049 Private XML Storage http://www.xmpp.org/extensions/xep-0049.html
3、备注好友信息
XEP-0145 Annotations http://www.xmpp.org/extensions/xep-0145.html
4、存储书签
XEP-0048 Bookmark Storage http://www.xmpp.org/extensions/xep-0048.html
5、好友头像
XEP-0008 IQ-Based Avatars http://www.xmpp.org/extensions/xep-0008.html
XEP-0084 User Avatar http://www.xmpp.org/extensions/xep-0084.html
XEP-0054 vcard-temp http://www.xmpp.org/extensions/xep-0054.html
四、用户状态
RFC-3921 Subscription States http://www.ietf.org/rfc/rfc3921.txt
五、文本消息
1、在线消息
2、离线消息
XEP-0013 Flexible Offline Message Retrieval http://www.xmpp.org/extensions/xep-0013.html
XEP-0160 Best Practices for Handling Offline Messages http://www.xmpp.org/extensions/xep-0160.html
XEP-0203 Delayed Delivery http://www.xmpp.org/extensions/xep-0203.html
3、聊天状态通知
XEP-0085 Chat State Notifications http://www.xmpp.org/extensions/xep-0085.html
六、群组聊天
1、XEP-0045 Multi-User Chat http://www.xmpp.org/extensions/xep-0045.html
七、文件传输
1、XEP-0095 Stream Initiation http://www.xmpp.org/extensions/xep-0095.html
2、XEP-0096 File Transfer http://www.xmpp.org/extensions/xep-0096.html
3、XEP-0065 SOCKS5 Bytestreams http://www.xmpp.org/extensions/xep-0065.html
4、XEP-0215 STUN Server Discovery for Jingle http://www.xmpp.org/extensions/xep-0215.html
5、RFC-3489 STUN http://tools.ietf.org/html/rfc3489
八、音视频会议
1、XEP-0166 Jingle http://www.xmpp.org/extensions/xep-0166.html#negotiation
2、XEP-0167 Jingle Audio via RTP http://www.xmpp.org/extensions/xep-0167.html
3、XEP-0176 Jingle ICE Transport http://www.xmpp.org/extensions/xep-0176.html
4、XEP-0180 Jingle Video via RTP http://www.xmpp.org/extensions/xep-0180.html#negotiation
5、XEP-0215 STUN Server Discovery for Jingle http://www.xmpp.org/extensions/xep-0215.html
6、RFC-3489 STUN http://tools.ietf.org/html/rfc3489
九、用户查询
XEP-0055 Jabber Search http://www.xmpp.org/extensions/xep-0055.html
整体:
一、协议数据交互
XEP-0004 Data Forms http://www.xmpp.org/extensions/xep-0004.html
二、jabber-RPC
XEP-0009 Jabber-RPC http://www.xmpp.org/extensions/xep-0009.html
三、功能协商
XEP-0020 Feature Negotiation http://www.xmpp.org/extensions/xep-0020.html
四、服务发现
XEP-0030 Service Discovery http://www.xmpp.org/extensions/xep-0030.html
五、会话建立
XEP-0116 Encrypted Session Negotiation http://www.xmpp.org/extensions/xep-0116.html
XEP-0155 Stanza Session Negotiation http://www.xmpp.org/extensions/xep-0155.html
XEP-0201 Best Practices for Message Threads http://www.xmpp.org/extensions/xep-0201.html
XMPP: Extensible Messaging and Presence Protocol Detail: http://www.xmpp.org/可扩展消息处理现场协议, 是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。
XMPP是一个流化XML[XML]元素的协议,用于准实时的交换消息和出席信息。XMPP的核心功能定义在Extensible Messaging and Presence Protocol (XMPP): Core XMPP-CORE. 这些功能 -- 主要是 XML流, 使用 TLS和SASL,以及流的根元素之下的<message/>, <presence/>, 和 <iq/> 子元素 -- 为各种类型的准实时应用提供了一个构造基础,
它可以被放在核心的顶层,使用特定XML名字空间[XML-NAMES]发送特定的应用数据. 我很想描述XMPP核心功能的扩展和应用,时间关系及理解的不是很透彻,也不敢乱发言;XMPP核心功能提供了RFC 2779 [IMP-REQS]定义的基本的即时消息和出席信息功能。
比较好的开源代码有:mobber和Jabber,一个代码简单易懂,另外一个功能比较全;本人比较喜欢的网站是:http://www.jabber.org/,里面有好多基于各种系统的源代码,只要愿意借鉴,只管拿来就可以啦。
以下是本人在借鉴mobber和Jabber源代码的基础上开发的手机Jabber客户端部分界面:
1、登录界面
2、好友列表
3、设置好友界面
为了更好的了解XMPP协议,附上XMPP协议说明,可以在此基础上开发更多的客户端。
【附】XMPP协议说明
基本的jabber客户端必须实现以下标准协议(XEP-0211)
1、RFC3920 Core http://tools.ietf.org/html/rfc3920
2、RFC3921 Instant Messaging and Presence http://tools.ietf.org/html/rfc3921
3、XEP-030 Service Discovery http://www.xmpp.org/extensions/xep-0030.html
4、XEP-0115 Entity Capabilities http://www.xmpp.org/extensions/xep-0115.html
基本的jabber服务器必须实现以下标准协议(XEP-0212)
1、RFC3920 Core http://tools.ietf.org/html/rfc3920
2、RFC3921 Instant Messaging and Presence http://tools.ietf.org/html/rfc3921
3、XEP-030 Service Discovery http://www.xmpp.org/extensions/xep-0030.html
一、注册
XEP-0077 In-Band Registration http://www.xmpp.org/extensions/xep-0077.html
二、登录
XEP-0020 Software Version http://www.xmpp.org/extensions/xep-0092.html
三、好友列表
XEP-0083 Nested Roster Groups http://www.xmpp.org/extensions/xep-0083.html
1、获取好友列表
2、存储好友列表
XEP-0049 Private XML Storage http://www.xmpp.org/extensions/xep-0049.html
3、备注好友信息
XEP-0145 Annotations http://www.xmpp.org/extensions/xep-0145.html
4、存储书签
XEP-0048 Bookmark Storage http://www.xmpp.org/extensions/xep-0048.html
5、好友头像
XEP-0008 IQ-Based Avatars http://www.xmpp.org/extensions/xep-0008.html
XEP-0084 User Avatar http://www.xmpp.org/extensions/xep-0084.html
XEP-0054 vcard-temp http://www.xmpp.org/extensions/xep-0054.html
四、用户状态
RFC-3921 Subscription States http://www.ietf.org/rfc/rfc3921.txt
五、文本消息
1、在线消息
2、离线消息
XEP-0013 Flexible Offline Message Retrieval http://www.xmpp.org/extensions/xep-0013.html
XEP-0160 Best Practices for Handling Offline Messages http://www.xmpp.org/extensions/xep-0160.html
XEP-0203 Delayed Delivery http://www.xmpp.org/extensions/xep-0203.html
3、聊天状态通知
XEP-0085 Chat State Notifications http://www.xmpp.org/extensions/xep-0085.html
六、群组聊天
1、XEP-0045 Multi-User Chat http://www.xmpp.org/extensions/xep-0045.html
七、文件传输
1、XEP-0095 Stream Initiation http://www.xmpp.org/extensions/xep-0095.html
2、XEP-0096 File Transfer http://www.xmpp.org/extensions/xep-0096.html
3、XEP-0065 SOCKS5 Bytestreams http://www.xmpp.org/extensions/xep-0065.html
4、XEP-0215 STUN Server Discovery for Jingle http://www.xmpp.org/extensions/xep-0215.html
5、RFC-3489 STUN http://tools.ietf.org/html/rfc3489
八、音视频会议
1、XEP-0166 Jingle http://www.xmpp.org/extensions/xep-0166.html#negotiation
2、XEP-0167 Jingle Audio via RTP http://www.xmpp.org/extensions/xep-0167.html
3、XEP-0176 Jingle ICE Transport http://www.xmpp.org/extensions/xep-0176.html
4、XEP-0180 Jingle Video via RTP http://www.xmpp.org/extensions/xep-0180.html#negotiation
5、XEP-0215 STUN Server Discovery for Jingle http://www.xmpp.org/extensions/xep-0215.html
6、RFC-3489 STUN http://tools.ietf.org/html/rfc3489
九、用户查询
XEP-0055 Jabber Search http://www.xmpp.org/extensions/xep-0055.html
整体:
一、协议数据交互
XEP-0004 Data Forms http://www.xmpp.org/extensions/xep-0004.html
二、jabber-RPC
XEP-0009 Jabber-RPC http://www.xmpp.org/extensions/xep-0009.html
三、功能协商
XEP-0020 Feature Negotiation http://www.xmpp.org/extensions/xep-0020.html
四、服务发现
XEP-0030 Service Discovery http://www.xmpp.org/extensions/xep-0030.html
五、会话建立
XEP-0116 Encrypted Session Negotiation http://www.xmpp.org/extensions/xep-0116.html
XEP-0155 Stanza Session Negotiation http://www.xmpp.org/extensions/xep-0155.html
XEP-0201 Best Practices for Message Threads http://www.xmpp.org/extensions/xep-0201.html
相关文章推荐
- C/C++ XMPP/Jabber 客户端类库对比/点评
- Habber - IOS XMPP 客户端 教程 (二)应用XMPP&代理&全局变量
- XMPP在android客户端上的应用 Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- C/C++ XMPP/Jabber 客户端类库对比/点评 (转)
- XMPP在android客户端上的应用 Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- XMPP概要-核心功能及应用领域
- 应用框架的设计与实现——.NET平台(4.2 Remoting 客户端激活)
- SharePoint 2010中的客户端AJAX应用——对话框显示详细信息页
- daily news新闻阅读客户端应用源码(兼容iPhone和iPad)
- 移动办公应用——客户端架构
- 基于XMPP的IOS聊天客户端程序(IOS端三)
- 离线应用与客户端存储(待更)
- Dollars即时聊天客户端应用源码
- XMPP客户端库简介
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端一)
- XMPP聊天软件客户端开发(3)
- SharpStreaming项目开发纪实:构建基于RTSP协议的服务器及客户端应用(二)——服务器的业务代码实现
- 仿煎蛋jiandan应用客户端源码
- iOS开发网络篇—实现一个视频播放客户端小应用(二)
- Linux -- Samba-PAM模块应用-系统密码同步;用户与客户端访问控制;磁盘配额;回收站