论文部分内容阅读
即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛。 本文研究了当今流行的各种即时通讯软件,对其进行分析,确定了即时通讯系统的功能分析,提出了不同的即时通讯服务器的架构。 围绕即时通讯的基本文字交流功能,设计了管理在线用户,维护在线用户,实现文字通讯的文字通讯主服务器。为了减轻服务器的负载,客户端的基本文字消息的传递,首先利用UDP尝试P2P地传递,若失败则尝试从主服务器中转,此方案大大提高了服务器的处理能力和响应速度。本系统使用TCP和UDP协议作为传输层的协议,更加便捷了用户之间的通讯和交友;使用XML设计信息格式,丰富了传输的数据,并使得协议容易扩展;使用SOAP协议传输数据,突破了防火墙的限制。 基于传输文件的需求,从不同的技术实现角度来分析了即时通信系统如何实现内网与公网以及内网与内网之间的传输的问题,并从中选取了最佳实现方案。为此,我们设计了通讯路由服务器,负责在不同的子网之间传递文件。若客户端为同一子网则可以直接连接进行传递,而不需通讯路由服务器中转。 最后,为解决即时通讯中的NAT(Network Address Translation)穿越问题,本文分析研究了一些NAT穿越技术,并介绍了一种最简单,却很健壮、实用的NAT穿越方法,这种方法一般称之为“Hole Punching”。 本即时通讯系统是山东威海农友软件公司自主开发的商业即时通信系统,该系统为用户提供了一个集文字通信、在线信息、文件传输及多方会议于一体的即时通信平台。经过约8个月的项目开发、测试,本即时通讯系统v1.0版本现已交付运行。