初次接触XMPP(一):简单介绍

用了一个星期的时间接触了XMPP协议,以及和这个协议有关的开源的Smack、Spark、Openfire。对XMPP的接触告一段落,在此总结一下学到的东西。有些地方是个人的理解,不对的地方请指出。
(一) 有关XMPP、Smack、Spark、Openfire的简单介绍
(二) 开发一个简单的基于XMPP的IM客户端,实现文字交流
(三) IM客户端实现文件传输
(四) Openfire插件编写简单介绍
什么是XMPP?我也是第一次接触,直接google,
维基百科:http://zh.wikipedia.org/wiki/XMPP,
百度科:http://baike.baidu.com/view/189676.htm。
简单总结一下,XMPP(Extensible Messaging and Presence Protocol,前称)是一种以XML为基础的开放式实时通信协议,是经由互联网工程工作小组(IETF)通过的互联网标准。
简单的说,XMPP就是一种协议,一种规定。啥意思?就是说,在网络上传东西,要建立连接,TCP/IP连接,建立后再传东西,而XMPP就是规定你传的东西的格式。XMPP是基于XML的协议。比如说,传个Message,需要在TCP连接上传输一个XML流:
Who's there?
来自:http://xmpp.org/extensions/xep-0085.html
什么好处?解析容易,阅读容易。
可以看一下:http://www.sunbo.name/20080409/xmpp
XMPP的具体内容:http://xmpp.org/xmpp-protocols/xmpp-extensions/
一小部分有中文翻译:http://wiki.jabbercn.org/%E9%A6%96%E9%A1%B5
什么是Smack?百度百科:http://baike.baidu.com/view/1946101.htm
Smack是一个开源,用Java编写的易于使用的XMPP(jabber)客户端类库。这样我们就可以通过Smack方便的使用XMPP了,不用自己直接解析XML流,Smack可以帮助我们提取有用的消息,发送XML流。
可以在这里下载Smack及其源代码:http://www.igniterealtime.org/downloads/index.jsp
初次接触XMPP(一):简单介绍
什么是Openfire和Spark?
Openfire是基于XMPP的开源的实时协作(RTC)服务器。(http://baike.baidu.com/view/1483859.htm)
Spark是基于XMPP的开源的客户端。
两者都是基于Java语言实现的。都提供了一些基本的功能,支持插件,可以通过插件扩展来增加新的功能。 (http://phoenixtoday.blogbus.com/logs/17246727.html)
Openfire及其源代码下载http://www.igniterealtime.org/downloads/index.jsp
初次接触XMPP(一):简单介绍
Openfire的安装与配置:http://www.cnblogs.com/charley_yang/archive/2011/03/27/1997052.html
Spark的下载,要用SVN,
初次接触XMPP(一):简单介绍
可以参考:http://lijinyan3000.iteye.com/blog/182017(这篇文章刚开始就提供了一个下载好的Spark源代码,可以直接下)。
惭愧的是这些源代码由于各种原因我都没有运行成功,虽然网上有很多方法,我只是下载下来阅读了一下。Smack,Spark,Openfire源代码中都有开发文档,可以结合源代码阅读进一步了解。
Tags: 

延伸阅读

最新评论

发表评论