论文部分内容阅读
随着互联网时代的发展,Web应用在人们的生活中越来越发挥其优势。即时通信的出现给人们的生活带来了前所未有的便捷体验,让人们充分体会到了“地球是平的”。所以近年来,Google、Facebook、Twitter等世界知名的互联网企业一直在致力于打造Web即时通信平台,让用户在网络社交平台上除了能够体验丰富的互联网应用,同时也能够通过Web随时随地的来进行即时通信。为了搭建一个高效的Web即时通信平台,使用什么样的消息推送方法和开发框架成了这一领域研究的重点之一。针对以上问题,本文首先对现有的长轮询和长连接两种消息推送方法进行了深入的研究,经过对比分析后总结出这两种方法的优缺点。为了解决存在的问题,本文对在消息推送过程中连接的建立以及数据的推送过程及原理进行了细致的分析,并提出了一种基于长轮询消息推送方法的改进方法,运用两条连接的交替运行来模拟一条TCP长连接的工作机制,从而避免因频繁轮询而造成的消息推送延迟情况的发生;同时在服务端有推送数据的情况下,将用户请求的响应和数据响应结合,从而减少多次响应所造成的网络资源的浪费。本文还建立了一种用于计算最佳心跳检测时间的数学模型,该模型能够通过请求频率和消息推送频率来确定最佳的心跳检测时间,使改进的消息推送方法具有良好的推送效率。在此基础上,通过对Dojo工具集的研究,以Dojo工具集作为Web应用的最佳开发框架,并且选取XMPP协议作为Web即时通信应用的通讯协议,在连接管理方面提出相应的扩展。综合以上的研究内容,最终本文提出了一套基于Dojo工具集的Web即时通信消息推送机制,包括Web即时通信应用的开发框架和Web客户端的搭建方法。本文还对实际搭建的Web即使通信应用进行了相应的测试,来验证改进的消息推送方法的有效性。通过对长轮询消息推送方法和改进的消息推送方法的对比实验,结果表明从网络资源占用程度和消息推送的即时性两个方面,改进的消息推送方法都具有一定的改善。