当前位置:首页>> >>


VB点对点聊天文件传输系统设计(源代码 系统).rar

收藏

资源目录
    文档预览:
    编号:20180913212519227    类型:共享资源    大小:2.17MB    格式:RAR    上传时间:2018-09-13
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    35
    金币
    关 键 词:
    VB 点对点 聊天 文件传输 系统 设计 源代码
    资源描述:
    点对点聊天和文件传输程序摘要本程序使用 VB 语言编程,使用 WinSock 控件完成的点对点(P2P)聊天和文件传输程序。可以实现两台机器间互发消息,并且有聊天和文件传输记录,安全可靠。关键词p2p WinSock,聊天和文件传输程序,VB目 录第一章 开发背景 ....................................................................................................................................31.1P2P的概念 .......................................................................................................................................31.2P2P的思想溯源 ...............................................................................................................................51.3P2P内容转移到“边缘” ...............................................................................................................71.4 重新解读 P2P.................................................................................................................................9第二章 开发环境及实现技术 ..............................................................................................................122.1 开发环境 ....................................................................................................................................122.2 开发工具简介 ............................................................................................................................12第三章 系统设计 ..................................................................................................................................143.1 概要设计 ....................................................................................................................................143.2 详细设计 ....................................................................................................................................15第四章 系统的实现 ..............................................................................................................................174.1 主界面的实现 ............................................................................................................................174.2 点对点聊天模块的实现 ............................................................................................................204. 2. 1 服务器端子模块的实现 ..................................................................................................204. 2. 2 客户端子模块的实现 ......................................................................................................234.3 点对点文件传输模块的实现 ....................................................................................................264. 3. 1 服务器端子模块的实现 ..................................................................................................264. 3. 3 客户端子 模 块的实现 ......................................................................................................314.4 上网功能模块的实现 ................................................................................................................35设计心得 ..................................................................................................................................................38参考文献 ..................................................................................................................................................39第一章 开发背景P2P 是一种技术,但更多的是一种思想,有着改变整个互联网基础的潜能的思想。 1.1p2p 的概念 P2P 是 peer-to-peer 的缩写,peer 在英语里有“(地位、能力等)同等者”、 “同事”和“伙伴”等意义。这样一来,P2P 也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。 简单的说,P2P 直接将人们联系起来,让人们通过互联网直接交互。P2P 使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P 就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P 另一个重要特点是改变互联网现在的以大网站为中心的状态、重返“非中心化” ,并把权力交还给用户。 P2P 看起来似乎很新,但是正如 B2C、B2B 是将现实世界中很平常的东西移植到互联网上一样,P2P 并不是什么新东西。在现实生活中我们每天都按照 P2P 模式面对面地或者通过电话交流和沟通。 即使从网络看,P2P 也不是新概念,P2P 是互联网整体架构的基础。互联网最基本的协议 TCP/IP 并没有客户机和服务器的概念,所有的设备都是通讯的平等的一端。在十年之前,所有的互联网上的系统都同时具有服务器和客户机的功能。当然,后来发展的那些架构在 TCP/IP 之上的软件的确采用了客户机/服务器的结构:浏览器和 Web 服务器,邮件客户端和邮件服务器。但是,对于服务器来说,它们之间仍然是对等联网的。以 email 为例,互联网上并没有一个巨大的、唯一的邮件服务器来处理所有的 email,而是对等联网的邮件服务器相互协作把 email 传送到相应的服务器上去。另外用户之间 email 则一直对等的联络渠道。 当然但是过去的 5 年里,互联网的发展至少从表面上远离了P2P,互联网上绝大部分的节点也不能和其他节点直接地交流。Napster 正是唤醒了深藏在互联网背后的对等联网。Napster 的文件共享功能在局域网中共享目录也是再平常不过的事情。但是 Napster 的成功促使人们认识到把这种“对等联网”拓展到整个互联网范围的可能性。当然,在许多人的眼中,Napster并不是纯粹的 P2P,它仍然需要一个处于中心协调机制。 事实上,网络上现有的许多服务可以归入 P2P 的行列。即时讯息系统譬如ICQ、AOL Instant Messenger、Yahoo Pager、微软的 MSN Messenger 以及国内的 OICQ 是最流行的 P2P 应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。但这些系统并没有诸如搜索这种对于大量信息共享非常重要的功能,这个特征的缺乏可能正 是为什么即时讯息出现很久但是并没有能够产生如 Napster 这样的影响的原因之一。 另外一个可以归入 P2P 是拍卖网站譬如 eBay,人们在总结 eBay 的模式的时候用了 C2C,是不是和 P2P 有一点类似?eBay 就是一个将人们联系的和交易物品的社区,用户可以方便的搜索其他用户叫卖的商品。eBay 提供了一些使得交易得以顺利进行的服务,但是交易是直接在用户之间进行的。如果将“交易”的概念推广,C2C 就是 P2P 的一个特例,这里人们互相交换的是商品。 但如果仔细深究的话,Napster 和即时讯息在赋予用户之间直接交流的能力、eBay 使用户可以直接交易的同时,却破坏了服务器端的那种自互联网出现之初就存在的对等联网思想,因为它们都需要有一个位于中心的服务器来协调,而不是分布在世界上不同地方的、对等联网的许多服务器。这也正是诸如Gnutella 和 Freenet 不断的宣称它们创造了“纯粹”的 P2P,完全没有中心服务器的 P2P 服务。 1.2p2p 的思想溯源回到互联网的本质。如果回顾一下,我们会发现在 WWW 出现伊始 P2P 就是互联网的本质特征之一。人们各自建立网页、互相做链接,人们上网是沿着链接冲浪。那时的 web是真正的“网” (web) 。但是当 Yahoo!和 Lycos 建立了搜索引擎和门户站点后,人们上网的方式被改变了,人们从此到一个地方去获取所有的信息。记得新浪曾经有一段时间说它们是“目标站点”模式,但是如果多问一句,现在人们一条一条地阅读新浪的新闻,在头脑中还有一个“网”的概念吗?最大的问题是,这些站点控制了信息的流动、充斥了过时的信息、阻碍了真正的交流,或者对于很多人来说,另外还有太多的广告。 P2P 就是把控制权重新还到用户手中去。人们通过 P2P 可以共享硬盘上的文件、目录甚至整个硬盘。这种能量是非常令人激动的,那些费心存储在自己的硬盘上的东西肯定是我们认为最有价值,所有人都共享了他们认为最有价值的东西,这将使互联网上信息的价值得到极大的提升。是不是有一种和 WWW 刚刚出现的时候同样的激动呢?有一点。 因为每个 Peer 都代表了其后的人,基于自组织的网上社区也正在显现。与门户站点从上而下建立社区的方式不同,人们将以自发的方式形成社区。 当人们加入 P2P 网络的时候,所有人都拥有了平等的机会,所有人都拥有了极容易地在网络上创造“内容”的机会。当然,真正在网络上创造或提供内容的人还是少数的,据统计 Gnutella 的用户中仅仅有 2%向其他用户提供了内容,即使在比较活跃的 Usenet 张贴文章的用户也仅占所有用户的 7%。但是,P2P 第一次使得所有上网的人都拥有了平等的机会。 下面试图用三句话来揭示 P2P 的影响: 对等联网:是只读的网络的终结(Peer-to-peer is the end of the read-only Web) 对等联网:使你重新参与互联网(Peer-to-peer allows you to participate in the Internet again) 对等联网:使网络远离电视(Peer-to-peer steering the Internet away from TV)如上文所言,P2P 不是一个新思想,从某些角度看它甚至是整个最初创建互 联网的最基本的思想。我们不妨花时间作一点回顾。 互联网的发展于近现代的许多尖端科学技术的发展模式并无不同,即都是先在军事工业形成,再转到民用领域。互联网发源于至今看来也十分新颖的战略思想:为了避免敌人的毁灭性武器命中全国的军事指挥控制中心,应该怎么办?传统的方法是一方面想方设法尽可能地不让敌人知道中心的确切位置,另一方面提高中心的抵御打击的能力。但在当今的核武器年代,对方有着连一个星球都可以炸毁的核弹,再固若金汤的防御措施一旦受到攻击肯定马上化为乌有。而只要有机密存在,总有打探出机密的方法,所以靠保密中心所在位置的方法也不是长远之计。在这种情况下,美国的军事人员充分发挥逆向思维,想到既然不可能长期、有效地保护中心免受攻击,那么还不如根本不设中心!让每一个基地乃至每一台电脑都能独立运作,这么一来等于有了无数中心,敌人除非真的将这个星球炸了,否则其中一个基地或电脑受损,也不影响其他基地或电脑继续发挥作用。正是这种“非中心化”的思想成为形成互联网最基本的概念。 但是许多技术出现之后往往并不会完全按照原先的设计发展,服务器/客户机的架构逐渐变成了互联网的主流,浏览变成了人们在互联网上最主要的生存方式。互联网的普通用户似乎在慢慢的退化、和电视观众一样被动地浏览着大网站们创造的内容。人们在网络上的主要活动访问了在这么门户站点上,读新闻、参与讨论组、聊天和文件传输。但是这使得设计的互联网的一个特性消失了——如果 Yahoo 因故中断服务如出现什么情况?这种假设不太容易看到,但是年初的黑客攻击各大网站造成的混乱似乎可以给我们一点联想的线索。1.3p2p 内容转移到“边缘” 我们来看看 P2P 的更多激动人心的东西和消除围绕这个新词的种种误解,以及看看 P2P 的机会主要在哪儿。 P2P 带来的一个变化就是改变了“内容”所在的位置,内容正在从“中心”走向“边缘” ,也就是说内容将主要不是存在几个主要的服务器上,而是存在所有用户的个人电脑上。 Napster 的成功使我们不得不去质疑流传已久的两个断言, “应用服务提供商(ASP)是未来趋势”和“个人电脑死了” 。ASP 的一个基本假设就是对于大多数客户来说购买和维护高性能的服务器的成本太高了,但是 P2P 使得每个人办公桌上的电脑都可以成为“服务器” 。用户原来是用台式电脑准备好数据之后再把数据上载到服务器上去,而使用 P2P 将不再需要这个过程。 “个人电脑死了”这个断言就是个人电脑将主要用来浏览互联网、字处理等,因此最简单的客户机就可以满足需求。P2P 使得个人电脑再一次成为“中心” 。P2P 使得个人电脑重新焕发活力、不再是被动的客户端,而成为具有服务器和客户端的特征的设备,个人电脑将重新成为互联网的中心。 互联网的存储模式将由现在的“内容位于中心”模式转变为“内容位于边缘”模式。从这个角度看 P2P 带来了几个改变: 首先,客户不再需要将文件上载到服务器,而只需要使用 P2P 将共享信息提供出去; 其次运行 P2P 的个人电脑不需要固定 IP 地址和永久的互联网连接,这使得那些拨号上网的用户也可以享受 P2P 带来的变革,这部分用户在所有用户中占有极大的比重; 最后,P2P 完全改变过去控制互联网的客户机/服务器模式,消除客户机和服务器二者之间的差别。 上文对 Napster 所遭遇的法律问题有很多讨论,但是换个角度来阐述,盗版问题往往也正显示存在大量未能满足的需求。Napster 的惊人成功(这里指吸引大量用户而不是获得利润)是一种难得的对 P2P 的概念上可行性的证明,揭示了 P2P 改变互联网的潜力。直通桌面的宽带网络逐渐成为现实、个人电脑越来越强大足以胜任“服务器”功能也从另外的方面确保 P2P 发挥其能量。 个人电脑取代位于中心的服务器成为内容的主要存储地将对互联网的几个主要发展方向有着意义深远的影响:这可能改变 Windows 和 Linux 几年的“战争”的局面,当“桌面”和服务器逐渐融合,微软可能会极力推广其基于Windows2000 的 Web 服务和“内容处于边缘” (内容处于桌面)模式,从而可能破坏 Linux 在服务器市场上存在的基础。 提供免费个人主页服务的公司存在的一个理由就是目前互联网使得普通用户很难拥有自己的服务器放置自己的内容。可以预言类似 Napster 的服务将会出现供人们在自己的个人电脑上发布主页和内容。 WAP 等移动服务协议目前还主要关注让人们去使用处于中心的商业服务如新闻、股票信息等。但更多的时候人们最需要的信息是那些在他们的个人电脑上的信息,P2P 使这成为可能。人们可以通过无线联网 P2P 访问他们的个人电脑,这也就是一些公司所宣传的个人化 P2P(Personal P2P)的“无线版本” 。 当然,这也不是说使用 P2P 的个人电脑可以取代服务器,那些安全的备份和需要专家来不断更新的数据还将存在于位于中心的服务器上。 可以这样看待P2P 带来的转变, “内容位于中心”模式较好的适应了互联网初期的情况,个人电脑性能太差因而需要有专门的服务器、带宽太窄使得个人电脑不得不退化到被动浏览。宽带互联网、更稳定的更高性能的个人电脑使得我们有理由预言下一个 5 年将是由“内容位于边缘”模式主导。 1.4 重新解读 P2P 每个具有划时代意义的创新出现的时候它往往可能被人们误读。P2P 这次也不例外,Napster 让人们开始关注 P2P,但也使得许多人认为 P2P 就是歌曲交换、文件交换,甚至认为 P2P 和盗版有着必然的联系。可以说人们对 P2P 的理解是被误导的和不完全的。 自由软件(Free software)出现之初也面临着误读的困境,人们开始的时候将 Free 理解为免费的,从而认为自由软件是不可靠的、认为自由软件运动是激进的“反文化的” 。事实上 Free 更多的应该指自由地探索想法、在软件中表达出来和共享软件。这一点对自由软件的鼓吹者们来说是自然而然的,但是需要有人去告诉商界、媒体和公众自由软件在经济上和逻辑上是可行的。当时著名出版人 O’reilly 组织了一次自由软件峰会重新定义自由软件,将自由软件改名为开放源码软件(open source software)。这一重新定义使得人们开始拨开误解的乌云,了解 Free 的本质。开放源码将人们从有缺陷的软件、锁定效应和传统的软件分发渠道中解脱出来。自由表示合作将可以跨越公司的边界、共享基础性的开发,使人们可以把注意力集中到高附加值的服务上去。 今年 8 月,O’Reilly 又组织另一次峰会来帮助人们认识 P2P 的潜力和消除Napster、Gnutella 造成的 P2P 是盗版技术的负面影响。另外,他认为目前 P2P的状态类似于“盲人摸象” ,P2P 技术的领导者们每个人都看到了 P2P 这头“巨象”的一些特征。 ,如果他们能够有机会交流思想,P2P 将会更快地发展。这次P2P 峰会主要有三个目的:定义 P2P,我们要从中的到什么以及为什么;描述P2P 的机会,P2P 能解决什么样的问题;形成一个提供给大众的关于 P2P 的信息,消除那些负面影响。 参与 P2P 峰会的有媒体不断报道的那些提供文件交换服务如Napster、Gnutella、Freenet 的开发者,也有那些试图挖掘 P2P 分布计算能力的公司和组织如 Popular Power、SETI@home、distributed.net 等的开发者。后面的三家公司希望使用 P2P 技术集中那些联接在网络上的电脑的空闲的 CPU时间片断、内存空间、硬盘空间来替代“超级计算机” 。其它正在进行的 P2P 应用还有,IBM、微软、Ariba 也在合作开展一个名为 UDDI 的项目以将 B2B 电子商务标准化;Eazel 正在建立下一代的 Linux 桌面;Jabber 已经开发了一种基于 XML、开放的即时讯息标准,Jabber 被认为是建立了未来使用 P2P 数据交换的标准;由 Lotus Notes 的开发者创建的 Groove 试图“帮助人们以全新的方式沟通” ;英特尔也在推广它的 P2P 技术以帮助更有效地使用芯片的计算能力。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:VB点对点聊天文件传输系统设计(源代码 系统).rar
    链接地址:http://www.gold-doc.com/p-138896.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开