南京邮电大学计算机学院软件工程导论大作业南京邮电大学即时通讯系统分析与设计姓名:李卿专业:软件工程学号:B10040914指导老师:陈志2010/12/8第一章 引言摘要即时通信 IM(Instant Messaging)是目前 Internet 上最为流行的通讯方式,而各种各样的即时通信软件也层出不穷:服务提供商也提供了越来越丰富的通信服务功能。随着互联网的进展,即时通信的运用日益广泛,即时通信软件业方兴未艾。点对点网络已经被越来越多的用户所需要并且作为一种标准的分发信息标准方式登堂入室,因为它的结构使得网络富有延展性,相较普通网络有更高的效率和更好的表现。P2P(peer—to—peer)网络是非中心化,自组织和动态的网络,并且为传统的客户端一服务器计算模型提供另外一种选择。客户端服务器(c/s)结构允许用户链接到某一个服务器,尽管服务器是可扩展的,但这总有限制。而 P2P 网络却拥有几乎无限的扩展可能。本文首先描述了 P2P 技术的进展和现状,然后初步探讨了即时通信所涉及到的一些技术:如通讯协议、服务模式等;最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个基于 P2P 的即时通信系统。;本系统基于 C++,使用 VC 作为开发工具。最终实现了多个用户可以点对点的进行即时通信。关键词:P2P,即时通信,TCP,客户端,服务器课题要求通过本课题的最终设计,要求设计者实现一个基于 P2P 的即时通信方案,能搜索并记录双方网络 IP 地址,基于 TCP 协议进行文本内容的传输,并实现一对多发送文本信息的功能;要求设计者对基于 P2P 的即时通信技术有一个系统地、全面地了解,为基于 P2P 相关领域的软件开发打下一定的编程基础。P2P 模型简介最近几年,P2P 迅速成为计算机界关注的热门话题之一,财宝杂志更将 P2P列为影响 Internet 未来的四项科技之一。P2P 打破了传统的 Client/Server(C/S)模式,在网络中的每个结点的地位都是对等的,既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P2P 技术的特点体现在以下几个方面:1.非中心化网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避开了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。2.可扩展性在 P2P 网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容...