论文部分内容阅读
随着互联网技术的不断发展,即时通信系统已经成为人们日常生活不可或缺的组成部分,它以一种实时通信方式为用户提供实时有效的沟通。P2P技术已经被广泛应用到许多领域,例如文件存储,搜索引擎,对等计算等,基于P2P的即时通信系统也越来越受到人们的关注。目前最为流行的即时通信系统如MSN,ICQ,QQ等都属于P2P的应用,但这些即时通信软件客户端都没有服务,这种软件的客户端在没有信息交互时会不断的向服务器发送数据包报告自己的状态,这样就会占用大量带宽,造成资源浪费,对互联网是一种严重的污染,随着这种类型软件的不断攀升,有可能会导致Internet的崩溃。而且这些软件的资源都存在服务器上,对服务器的性能要求较高,并容易使服务器由于压力过大而瘫痪,从而使整个系统不能正常使用。本文对P2P和即时通信系统的相关理论和技术进行了介绍,说明了研究基于P2P的即时通信系统的意义和价值。该系统将改变了C/S这一传统模式,使用P2P与C/S相结合的模式,以P2P技术为主,C/S结构为辅,基本上脱离单个中心服务器的束缚,网络中的任何节点自身即有客户端也有服务端,系统中每个节点即可以作为客户端请求服务,也可以作为服务端提供服务,用户只在登陆时访问服务器,将本地所需要的信息加载到本地服务端,登陆完成后,用户之间通信不再访问服务器,避免了在没有信息交互时客户端与服务端之间的数据传输,减少了对带宽的占用。而且该通信系统把资源都分布式的存储在网络上的各个节点中,大大的减轻了服务器的压力,有效解决了服务器的单点失效的问题。该系统还使用XML文档对数据进行外部存储,不再使用庞大的DBMS(数据库管理系统),大大减少了对系统资源的占用,降低了在数据库管理系统方面的开销,也提高了效率。同时考虑到系统安全性和稳定性,引入对等节点互评机制在一定程度上有效的避免了恶意节点的攻击,并在服务端设置了数据库备份和记录事务日志功能。本文采用面向对象的思想开发一个基于P2P的即时通信系统,并开发一个网络数据包捕捉程序对该系统进行测试和结果分析,基本上达到了预期目标。