论文部分内容阅读
在众多的网络应用中,即时通信(IM)服务是应用得最广的技术之一,它诞生不久却给人们的工作和生活带来了深刻变化。当前,不同厂商的IM产品种类繁多。随着即时通信的迅速发展,不同厂商客户端之间的无法互通成为一个严重问题。本文从在当前的即时通信协议入手,比较了各个协议的优势。其中,基于XML技术的协议XMPP(Extensible Messaging and Presence Protocol),具有良好的开放性、可扩展性和安全性,因而受到广泛关注。它能够解决IM软件的互通问题,未来有望成为即时通信的标准协议。
本文讨论了基于XMPP的服务器的分析、设计、原型系统实现的过程。在详细分析了XMPP的通信系统结构和服务器的典型会话流程之后,得出了服务器的需求,同时考虑了作为XMPP服务器所需要的特点:性能、互通性、平台独立性和可扩展性。服务器软件采用了层次化的设计,使位于最顶层的服务器应用程序不依赖与底层的具体实现。在服务器的高阶架构上,采用了分布式的设计。按照功能把服务器应用程序划分为几个模块,每个模块作为一个独立的进程运行,进程之间使用socket通信。该设计方案很好的扩展性、容错性。
本文还讨论了功能库的设计,其所提供的基本功能与IM服务虽然没有直接的联系,却是实现XMPP服务器的基础。为了验证设计方案的可行性,作者使用这些类库,实现了一个服务器原型系统。并且以此系统作为一个私有XMPP网络的服务器,对其进行了功能性的测试。