论文部分内容阅读
即时通讯系统(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛。本文针对当今流行的各种即时通讯软件,对其进行分析,详细给出了各模块的功能说明。并在此基础上提出了不同的即时通讯服务器的架构。围绕即时通讯的基本文字交流功能,设计了管理在线用户,维护在线用户,实现文字通讯的文字通讯服务器。客户端也设计了文件系统,从而保存聊天记录。为了保证通讯的高效以及可扩充性,客户端、服务器端的通信均采用了TCP协议。此方案大大提高了服务器的处理能力和响应速度。为以后诸如文件传输、视频会议等功能的添加也起到了铺垫的作用。由于即时通讯系统呈现给用户的始终是用户终端,在此环境下,用户终端界面的人性化设计很明显的也占有重要的地位。因此,对即时通讯系统客户端软件的开发设计也成了本文的一个重要构成。抽屉式菜单的采用成了本文其中的一个亮点。为了使界面显得更加美观,在各种对话框的显示上,我们加上了皮肤护肤工具,从而整体上使界面再提升一个档次。护肤工具的添加,也为今后的程序设计中增添了可行性。为解决即时通讯中的NAT(Network Address Translation)穿越问题,本文分析了一些NAT穿透技术,并介绍了一种最为实用的方法:打洞技术(HolePunching)。并分别对公共NAT,多级NAT等后面的结点如何打洞作了详细说明,对NAT技术的中转和反向连接也作了介绍,最后,用TCP协议来穿透NAT进行通信作了代码实现,并证明了其可行性。由于局域网通信机制的实现已经相当成熟,因此,本文主要实现异网通信。公网内主机之间的通信成为本文讨论的焦点。最后,通过对即时通讯系统的研究,了解了现今即时通信系统的发展脉络,同时也指出了即时通讯研究中亟待解决的问题。