对于IM, 我原来是没有了解过的, 只知道安装一个客户端就可以和其他的客户端聊天了基于XMPP的即时通讯工具(一) - liuyb_94242 - 我的空间我做主, 最近项目中用到了这方面的东东, 所以了解了一下开源的Openfire.
什么是IM
Instant Messenger, 即时通信软件, 就像大家使用的QQ, MSN, Skype和Gtalk等等. 其中Gtalk和下面说的Openfire就是基于XMPP 协议的实现.什么是XMPP
Extensible Messaging and Presence Protocol, 是一个发送接收处理消息的协议, 但是这个协议发送的消息, 既不是二进制也不是字符串, 而是XML.什么是Openfire
Openfire是一个基于XMPP协议的一个IM软件的服务端, Spark是这个软件的客户端, Smack是这个软件的协议实现(Smack是XMPP协议的一个实现), 三者都是基于Java 语言实现的, 如下图所示.
从上图可以看出, Client 端的Spark和Server端的Openfire都可以通过插件的方式来进行扩展, 对于想自己扩展的开发人员, 这不得不说是Good news.