P2P聊天软件的实现毕业论文设计点对点_第1页
P2P聊天软件的实现毕业论文设计点对点_第2页
P2P聊天软件的实现毕业论文设计点对点_第3页
P2P聊天软件的实现毕业论文设计点对点_第4页
P2P聊天软件的实现毕业论文设计点对点_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2014 届湖北汽车汽车工业学院毕业设计(论文)摘 要 近年来,随着互联网在中国的迅速发展,出现许多聊天软件,这些软件功能齐全,但大多数都不具备画图板功能,本设计就是要设计并实现一个聊天软件,软件除了普通的聊天功能外,还要提供一个绘图板,双方都能在绘图板上绘图。从实际应用系统的角度出发,以 VB 的网络技术为指导,结合现有软件的应用,编程实现基于 Visual Basic 的 P2P 聊天绘图工具。该聊天工具可以进行一对一聊天,以及文件传输的功能。本程序使用 VB 语言编程,使用 WinSock 控件完成的点对点(P2P)聊天和绘图程序,可以实现两台机器间互相发送消息。论文主要对与该软件相关的技术以及本设计的实现做一个详细的阐述: 1. 计算机网络聊天工具,受到了用户的普遍爱好,它把人们带进了一个虚拟的网络世界,拉近了人们的距离。从单一的文本聊天,到语音聊天以及到现在的图像、视频聊天、及时短信的发送和在线游戏等功能的开发,已经大大的拓展了聊天工具的概念,它成为了人们通过因特网相互联系和娱乐的主要平台,这也是腾讯成功的原因。 2.该聊天软件基于 VB 中的 WinSock 通信,在此基础上,实现一对一聊天。 3. 该聊天工具可以运行于任何安装了 VB6.0 和支持 tcp/ip 协议的机器上。 4.由于系统采用 c/s 结构,客户端与服务器端需要传送一些控制消息,因此系统需要自定义一些消息类型,这是该聊天工具的又一大关键之处。 关键词:局域网聊天;VB 网络技术;WinSock2014 届湖北汽车汽车工业学院毕业设计(论文)ABSTRACTIn recent years, with the rapid development of the Internetin the Chinese, appeared a lot of chat software, thesoftware functions, but most of them do not have thedrawing board, this design is to design and implement a chat software, the software in addition to general chat function, but also provide a drawing board, both sides can be drawing in the drawing board on the. Starting from the actual application system point of view, using VB network technology as the guide, combined with the application of existing software, programming Visual Basic chat tool based on P2P. The chat tool chat room to chat, the chat,file transfer and function. The paper focuses on thedevelopment of mainstream network chat software, andthe software technology and the realization of the designto do a detailed exposition:1 computer network chat tool, has been widely interestedusers, it bring people into a virtual network world,shortened the distance between people. From a singletext chat, voice chat and development up to now to theimage, video chat, and send text messages and onlinegames and other functions, has greatly expanded the concept of chat tool, it has been the main flat Internetconnection and entertainment platform, which is whyTencent success.2 the chat software WinSock communication based on VB,on this basis, implementation of one-on-one chat.3 the chat tool can be run on any installed VB6.0 andsupports tcp/ip, UPD, FTP protocol machine.4 Because the system uses the c/s structure, the client and the client and the client and the server to send controlmessages, so the system defines many types of information, it is another key point of the chat tool.Keywords: LAN chat;VB network technology;WinSock2014 届湖北汽车汽车工业学院毕业设计(论文)目 录第一章 开发背景 - 1 -1.1 P2P 的概念 - 1 -1.2 P2P 的分类 - 2 -1.3 P2P 的技术特点 - 3 -1.4 P2P 的应用领域 - 4 -第二章 开发环境及实现技术 - 6 -2.1 开发环境 Visual Basic 的介绍 - 6 -2.2 VB 模块实现 - 6 -2.3 TCP 通信协议的基础 - 7 -2.3.1 TCP/IP 网络协议 - 7 -2.3.2 TCP传输控制协议 - 7 -2.4 Winsock 的介绍和使用方法 - 9 -2.4.1 Winsock 的介绍 - 9 -2.4.2 Winsock 控件的使用与方法 - 10 -第三章 系统设计 - 13 -3.1 需求分析 - 13 -3.2 系统基本构架 - 13 -3.3 软件的功能 - 14 -3.4 软件协议设计 - 15 -3.4.1 发送接收聊天数据协议 - 15 -3.4.2 发送用户状态协议 - 16 -第四章 软件的实现与设计 - 18 -4.1 主界面的实现 - 18 -4.1.1 流程图 - 18 -4.1.2 P2P 聊天软件主界面 - 18 -4.2 P2P 各模块的实现 - 22 -4.2.1 服务器端各功能实现程序 - 22 -4.2.2 客户端各功能实现程序 - 34 -致 谢 - 43 -参考文献 - 44 -2014 届湖北汽车汽车工业学院毕业设计(论文)第一章 开发背景1.1 P2P 的概念P2P 即 peer-to-peer 的缩写,peer 在英语里有“(地位)等同者” 、 “同伴”等意义。这样 P2P 也就可以理解为“同伴对同伴”的意思,或者是称之为对等关联网。目前人们认为其在巩固增强网络上网民的交流、文件传输、同步计算等一些方面很有前途。 简明一点的来说,P2P 直接将网民联系在一起,让网民通过互联网直接互动。P2P 使互联网上的交流变得简单、更加直接共享和互相互换,真正地消除中介。P2P 就是人可以直接连接到其他网民的电脑、互换文件,而不是同以前一样连接到服务器上去浏览与下载。P2P 另一个特点是改变互联网当今的以总网站为中心的形式、重新返回“非中心化” ,并把权限交还给网民。 P2P 看似很新,但正如同 B2C、B2B 是将现实世界中很平淡的东西移植到网上一样,P2P 并不是新东西。在现实生活中我们每天都按照P2P 形式面对面地交流与沟通。 就算从网络中看, P2P 同样也不是新的概念,P2P 是互联网整体结构的基本要素。互联网最简单的协议 TCP/IP 并没有客户端和服务器端的理论,所有的设备都是通讯的相等的一端。十年前,整个的互联网上的系统都是同时拥有服务器和客户机的功能。后来发展的那些结构在 TCP/IP 协议之上的软件的确采用了客户机/服务器的结构:邮件客户端和邮件服务器,各种浏览器和 Web 服务器。但是,对于服务器来说,它们相互之间仍然是对等联网的。以 e-mail 为例,网上并没有一个唯一的邮件服务器来处理整个所有的 e-mail,而是对等联网的邮件服务器相互协作把email 传送到相应的服务器上去。另外网民之间 e-mail 则一直对等的联通渠道。在前面5年内,互联网的走势至少从面目远离了 P2P,互联网上绝大部分的通信节点也不和其他节点直接的交流。 事实上,互联网上现有的许多服务的东西可以归入 P2P的行列。即时通信系统譬如腾讯 QQ,微软的 MSN Messenger 和国内的 OICQ 是最流行的P2P 应用。它们允许网民互相交流和互换文件。网民之间的信息的交流不是直接的,需要有位于中心的服务器来调节。但这一些系统并没诸如搜索这种对于很多信息共享特别重要的功能,这个特征的缺乏可能正是为什么即时通信软件出现了这么久但并没有能够产生如同 Napster 这样影响的原因之一。 但是假如仔细研究的话,Napster 和即时通信在赋予网民之间直接交流的权利、使2014 届湖北汽车汽车工业学院毕业设计(论文)网民可以直接进行交易的时候,但却破坏了服务器端的自互联网出现之以来就存在的对等互联网思想方式,因为它们都需有一个位于中心的服务器来调节协助,而并不是广泛分布在地球上不同地方的、对等互联网的很多服务器。这也就是例如 Gnutella 和Freenet 不断的宣布它们制作了“纯粹”的 P2P,一点也没有中心服务器的 P2P 服务。1.2 P2P 的分类P2P 的模式变化历经了集中式、分布式和混合式 3 个阶段。P2P 的技术起源在屏幕交换技术,在这些发展过程里,屏幕的相互交换技术的演变最具有代表性,下面介绍一下 P2P 模式几种形式:(1)集中式的对等的网络(如图 1.1 所示)。集中式 P2P 模式是由一个中心服务器来记录共享信息、反馈这些信息查询。每个等对实体要对它所需共享的一些信息进行的通信负责,根据需共享它所需其他等对实体上的信息。这种形式拥有中心化的特点,但它和传统意义上的 Client/Server 模式有所不同。由于传统意义上的Client/Server 模式采用的是一种垄断的机制,所有的资料都存在服务器里,客户机就只能被动的从服务器上读取信息,并且客户机之间不具有交互能力;而集中式 P2P 模式则是所有网上提供的资料都存放在提供资料的客户机上,服务器里只保留索引信息,此外服务器与对等实体以及对等实体之间都具有交互能力。图 1.1 集中式对等网模型(2)分布式对等网络 1(如图 1.2 所示)。在分布式 P2P 中,对等机通过与相邻2014 届湖北汽车汽车工业学院毕业设计(论文)对等机之间的互相连接,遍历整个网络体系。每个对等机在功能上都是类似的,并没有独立的服务器,而对等机就必须依靠它们所在的分布网络来查找屏幕和定位其他的一些对等机。这种无中心、纯分布式系统不再是简单的一些 P2P 通信,而是更高效、更复杂的网络同行。S e r v e n tS e r v e n tS e r v e n tS e r v e n t图 1.2 分布式对等网模型(3)混合的 P2P 网络结构。集中式的 P2P 有利于对网络资源的快速搜索,同时只要服务器的能力足够的强大就可以无限扩大,但是其中心化模式容易遭受到一些直接的攻击,分布式解决了大部分的抵抗攻击的问题,但是同时又缺乏快速检索和可扩展性。混合式的 P2P 结合集中式和分布式 P2P 优点,在设计思想与处理能力上都有着进一步的优化能力。它在分布式模式的基础上,将网民节点能力进行分类,使一些节点担当特殊任务。1.3 P2P 的技术特点非中心化(Decentralization):网络资源与服务分散在所有结点上,信息绘图聊天与服务实现都直接在结点之间进行的,可不需要中间环节和服务器的介入,避免了可能的瓶颈。可扩展性:在 P2P 互联网中,随着网民的加入,不仅服务需求增大了,系统整体资源与服务能力也同步的扩充,始终能够比较容易地满足网民的需要。整个体系都是完全分布的,完全不存在一些瓶颈。理论上它可以扩展性几乎可以认为是无限的。2014 届湖北汽车汽车工业学院毕业设计(论文)健壮性:P2P 架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P 网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。P2P 网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。P2P 网络还能够根据网络带宽、结点数、负载等变化不断地做自适应式的调整。高性价比:性能优势是 P2P 被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计算和存储能力及网络带宽等性能依照摩尔定理高速增长。采用 P2P 架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上,利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的,通过利用网络中的大量空闲资源,可以用更低的成本提供更高的计算和存储能力。隐私保护:在 P2P 网络中,因为信息的绘图聊天分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。1.4 P2P 的应用领域P2P 指引网络运算模式从集中式 P2P 向分布式 P2P 转移,也就是说网络应用核心由中央服务器向网络边缘终端设备散发:服务器到服务器、服务器到 PC 机、PC 机到 PC机,PC 机到手机,所有网络节点上设备都可建立 P2P 对话。这使网民在 Internet 上的共享的做法被提到了一个更高层次,使人们以更加的主动方式参与到网络中去,P2P 给互联网的分布、共享精神带来了无限的遐想,从目前的应用来看,P2P 的主要威力还集中体目前大范围的共享、搜索优势里。主要有四大类型应用:对等的计算、协同的工作、搜索引擎、屏幕互换。1、对等计算采用 P2P 技术等对计算,正是把网络里面的大多数计算机暂时的不使用的计算能力相互连接起来,用积累能力进行超级计算机的任务。任何要很多数据处理的行业都可以从等对计算中获得好处,例如天气预报等,有了等对计算之后,就不再要很贵的超级计算机了。Intel 也剥用等对计算机技术来设计它的 CPU,并且为它节省很大的费用,同一时刻对等计算的发展是以 PC 计算机资源的有效开发为根本出发点的,所以也极力受到 Intel 的极力推荐。从根本上说,等对计算就是网络里 CPU 资源的共享。2014 届湖北汽车汽车工业学院毕业设计(论文)2、协同工作大量的公司机构分散,给客户与员工提供方便、轻松的消息和协助的工具,变得更加重要。网络的出现,使协助工作变得成为可能。但是传统的 WEB 方式实现功能,给服务器带来很大的负担,造成了大量的成本支出,P2P 技术的出现,使网络中上任意两台计算机都可以建立实际的联系,建立这样的共享、安全的虚拟空间,网民可以进行很多的活动,这些活动可交互进行,也可是同时进行,P2P 技术可以协助企业与关键客户加上合作伙伴之间建立出一种安全网上工作联系方式 。3、搜索引擎P2P 技术第二个优势是可以开发出强大的搜索引擎。P2P 技术使用户能够深度搜索文档,而且这种搜索无需通过 Web 服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎。通过 P2P 技术发展的另一 Gnutella 进行的搜索为例:一台计算机上的 Gnutella 软件可以把用户搜索请求同时发给网络上另外十台计算机,如果搜索请求未得到满足,这十台计算机中的每一台都会把该搜索请求转发给另外 10台 PC,这样,搜索范围将在几秒钟内以几何级数增加,几分钟的时间就可搜遍几百万台计算机上的信息资源。可以这样来说,P2P 为网络的信息搜索提供了全新的解决方法。4、屏幕互换可以说屏幕互换的需求直接引起 P2P 技术热潮。在传统的 WEB 方式里,要实现屏幕交换需要大力参与的服务器,通过把屏幕上传到某个特定的网站,网民再到一些网站搜索需要的屏幕,再共享,这种方式的不便的地方可以很简单的列举。电子邮件是便捷了个人间屏幕传递问题,却没法解决大范围的互换。这也是 WEB 的重要缺点,Napster 就是在这种情况下问世的,抓住人们对 MP3 喜欢的需求,Napster 的 MP3 交换直接引发了网络的 P2P 技术革命。2014 届湖北汽车汽车工业学院毕业设计(论文)第二章 开发环境及实现技术2.1 开发环境 Visual Basic 的介绍Visual Basic 简称 VB,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具 SDK 相媲美。在 Visual Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计 工具,使用 Windows 内部的广泛应用程序接口(API)函数,动态链接库(DLL) 、对象的链接与嵌入(OLE) 、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows 环境下功能强大、图形界面丰富的应用软件系统。2.2 VB 模块实现VB 模块也称代码模块: Visual Basic 的代码储存在模块里。模块有三种类型:标准、类、窗体。简单的一些应用程序可以只有一个窗体,应用程序的所有的代码都存在在窗体模块里。当应用程序过于大且麻烦时,就要另外增加窗体结构。最后可以能会导致几个窗体中都有要执行的公共代码。由于不希望在两个窗体中重复的代码,所以必须要创建一个独立的模块,其包含实现公共代码的方式。独立模块应该是标准模块。此后可建立包含共享过程的模块库。 每个标准模块、类模块和窗体模块都可包含: 声明:可将常数、变量、类型和动态链接库过程声明放在窗体、类或标准模块的模块级。 过程:Su

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论