此篇文章为?/span> 开 发你自己的XMPP IM l?- Openfire 插g开?/span> 》的转发Q原文章地址: http://phoenixtoday.blogbus.com/logs/20285574.html
l箋上一的内容Q本文章介l开发Openfire 的插?/span>
此篇文章为《开发你自己的XMPP IM》的转发Q原文章地址:http://phoenixtoday.blogbus.com/logs/17246727.html 最q没在Blog 上露脸,为撒c?应师兄的hQ帮他研I一个XMPP IM 软g的开发。反正最q也没什么大事,每天都想写写代码l练手,帮忙呗。研I了(jin)一通觉得还挺有,自己q几天查国内外的资料Q发现国内关于这斚w间的软g 资料太少?jin),想在这里写几篇关于此类IM 软g开发的文章。不q别看东西小Q涉?qing)的模块可不?/p>
所以我基本上分Z文章来介绍此类软g的开发:(x)
W一是关于XMPP 协议是啥QIM 是啥以及(qing)一个比较有名的开源实玎ͼ该开源实现包括三个部分(Spark、Smack和OpenfireQ;
W二讲如何开发基于Spark 的客L(fng)IM 插g部分Q?/p>
W三讲如何开发基于Openfire 服务器端的插仉分?/p>
好了(jin)Q进入正题吧?/p>
什么是XMPPQ?/strong>
Extensible Messaging and Presence ProtocolQ简单的来讲Q它?yu)是一个发送接收处理消息的协议Q但是这个协议发送的消息Q既不是二进制的东东也不是字W串Q而是XML。正是因Z??jin)XML作ؓ(f)消息传递的中介QExtensible 才谈的上Q不是么Q嘿ѝ再详尽的东西,我也׃多介l了(jin)Q大家可以去癑ֺ癄里查看下Q链接在q里
什么是IM Q?/span>
Instant MessengerQ及(qing)旉信软gQ就是大家用的QQ、MSN Messenger和Gtalk{等。其中Gtalk 是ZXMPP 协议的一个实玎ͼ其他的则不是。当前IM 几乎作ؓ(f)每个上网者必然用的工具Q在国外的大型企业中有一些企业的IM应用Q但是其商业价D没完全发挥出来。设x然XMPP 协议是一个公开的协议,那么每个企业都可以利用它来开发适合本n企业工作Q提高自w生产效率的IMQ甚臻I你还可以在网l游戏中集成q种通信软gQ不但让?可以Ҏ(gu)戏边聊天Q也可以开发出适合游戏本n的IM 应用Q比如说一些游戏关键场景提醒功能,团队语音交流{等都可以基于IM来实现。说?jin)这么多Q就是一个意思,其商业h(hun)Dq比你想的高Q?/p>
Spark Smack ?Openfire
开源界L有许多有的东东Q这三个合v来就是一个完整的XMPP IM 实现。包括服务器端——OpenfireQ客L(fng)——SparkQXMPP 传输协议的实现——SmackQ记住,XMPP是一个协议,协议是需要实现的QSmack起到的就是这L(fng)一个作用)(j)。三者都是基于Java 语言的实玎ͼ因此对于熟?zhn)Java 的开发者来说不是很?br style="margin: 0px; padding: 0px;" />