论文部分内容阅读
随着因特网和移动互联网的普及和蓬勃发展,通过网络实现随时随地的信息传输成为当今的技术热点,也是各大企业新时期的价值增长点。同传统的通讯方式相比,即时通讯有着及时和价格低廉等优点,因此各大企业开发了各种各样的即时通信软件,现在市场上已经存在着许多IM系统,如AOL IM、YAHOO IM、MSN还有大家平时一直在使用的QQ,它们最大的区别在于不同的IM系统都实现了私有的通信协议,在这些IM系统之间是无法实现互联互通。这就阻碍了使用不同客户端的用户之间信息的即时交互,而XMPP协议的出现使得即时通信领域有了统一的标准,该协议的出现将打破个别软件所构建的藩篱,真正实现不同软件间的互联互通,使得人们交互信息更加便捷。本文围绕XMPP协议做了如下几个方面的工作:1、深入理解XMPP协议的特点与优势,仔细阅读XMPP协议相关的RFC文档。2、参考分析市面上现有一些IM系统的设计方案,分析和总结这些方案的特点和优势,并设计出一个基于XMPP协议的IM服务器模型。3、采用脚本语言Python迅速开发出系统原型,在开发过程中详细分析了XMPP协议的通信过程,以及采用XML封装数据和从中解析数据的方法。4、为了提高整个系统的安全性,本文使用C语言开发了身份认证模块并通过Python调度此模块,同时使用Openssl加密整个通信过程的数据流。5、在系统中加入了非标准XMPP协议的一些功能。6、为了增强系统的可扩展性和处理速度,将LVS和Memcached集成到后端服务器系统当中。7、采用XMPP客户端库Smack开发出一个即时通信客户端,并且通过客户端和服务的通信来验证服务器的功能。通过最终的测试,服务器的功能基本达到预期的设想。