基于P2P技术的局域网即时通讯软件教学设计应用

来源 :中国校外教育·理论 | 被引量 : 0次 | 上传用户:yanrj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]计算机对等网络 (P2P)技术是目前网络技术的研究热点。本文根据教学需要设计一套即时通讯软件,原理简单,成本低,易于实现。我们从P2P技术的基本概念、应用范围和技术特点进行分析,并介绍了网络模型设计和系统结构模型设计。从而方便大家了解其P2P技术,实现其教学功能,并很好地向实际推广应用。
  [关键词]P2P局域网TCP/ IP UDP即时通讯
  
  一、 P2P技术
  
  1.P2P技术介绍
  P2P是英文peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义,因此,P2P可以理解为对等网、点对点等。现在,P2P软件技术在互联网上得到广泛应用,除了网上即时通讯软件之外,P2P在共享音乐和软件下载等方面的应用也很多,如PP Live网络电视软件、多媒体影音分享工具POCO软件、BT下载、迅雷下载、eMule——电驴等软件均属于P2P软件。
  在互联网应用中,P2P是一种技术,同时也是一种思想。它是一种充分发挥整个互联网基础潜能的思想。P2P使得互联网络上的沟通变得容易、更直接共享和交互,真正地消除中间环节。使人们可以直接连接到其他用户的计算机进行文件交换,而不是像过去那样必须连接到服务器去浏览与下载。
  P2P技术的局域网即时通讯软件的设计应用主要是实现同在一个局域网内的每个用户之间进行即时通讯,即聊天、文件传输等功能。它是一个建立在纯P2P模型下的即时通讯软件,所以完全不需要服务器支持就可以进行点对点通讯,使用起来非常方便。它采用了UDP网络的传输协议进行底层的消息传送,在此基础上用广播消息实现上下线提示。该软件同时采用TCP网络的传输协议进行文件传输和建立可靠的文字聊天。
  2.P2P技术产生的背景
  P2P不是一个新概念,在互联网产生初期,一个本质的特征就是P2P,只不过由于带宽及处理能力等的限制,使得我们的沟通中出现了很多的中间环节,如中间服务器、门户网站、第三方信息(交易)平台等。这样,个人用户在互联网上变成了被动的参与者,被动地接受那些“中心”提供的过时、芜杂的信息。在国外,P2P发展已经如火如荼,Intel、Sun、Microsoft等公司都已经开始制定P2P的标准。对等计算它引导着网络计算模式从集中式向分布式转移,也就是说,网络应用的核心从中央服务器向网络边缘的终端设备扩散:服务器到服务器、服务器到PC机、PC机到PC机,PC机到WAP手机……所有网络节点上的设备都可以建立P2P对话。基于P2P技术的局域网即时通讯软件教学设计就是针对这种需求而开发的。它设计思想简单,即以简单而有效的方式构建纯P2P通讯模型,在没有服务器支持的情况下,实现局域网内点对点的通讯功能,就是简单的网络文字聊天、文件传输等应用。使得开发后期不需要过多考虑如何解决对等通讯的技术问题,而可以专注于如何实现与完善可扩展、操作性强的高层应用。
  3. P2P技术的特点
  P2P技术应用于教学局域网时有如下特点:
  (1)成本低廉。与传统C/S结构的网络相比,因为设备依靠的是各个点的终端,实施时不需要特别额外的设备,所以其成本很低。
  (2)高性能。系统采用P2P技术,能充分利用网络中的所有计算机资源,整体上平均事物处理能力较高。
  (3)可扩展性好。中间服务器是采用多服务器并行处理,并支持异构特性,可以动态扩展服务器的功能和数量,系统提供的应用功能也就随之不断地增加扩展。
  (4)安全性好。系统提供任意两点间动态密钥加密机制和对任意节点的身份验证机制,并在面向应用的格式化消息结构和系统接口中,预留了第三方加密软件接口,用户可以对其安全性进行任意定制。
  本软件的特点采用基于纯P2P网络模型方式,不需要专门的服务器,网络中所有的对等点都是服务器,并且承担很小的服务器的功能。各用户可以根据运行时收集到的用户信息选择聊天对象,大部分的功能都可以在此连接上实现。
  
  二、 P2P技术的需求分析
  
  1.软件功能层的划分
  根据该即时通讯软件的应用功能和P2P技术的组网模式可划分为四层软件功能层:接口层、网际层、传输层和应用层。
  (1)接口层。这是TCP/ IP 软件的最底层,负责接收IP 数据包并通过网络发送或网络上接收物理帧,抽出IP 数据包,交给IP 层。
  (2)网际层。负责相邻的计算机之间的通信。功能包含: ①处理来自于TCP的数据,收到请求后分组装入IP 数据包,填充报文头后选择目标机的路径,再将数据包发送到相应的接口;②处理从接口层来的数据,判断数据包正确后去掉IP 包文头后发送到相应的传输层;③处理ICMP 数据包文,处理路径、流控和拥塞问题等。
  (3)传输层。提供端到端的通信。其功能包含:①格式化信息流,处理从应用程序和从IP 层来的数据,再发送到相应的协议处理层;②提供可靠的连接,在这里传输层协议规定接收端必须发送确认信息来建立链路,并且假如分组遗失必须重新发送。
  (4)应用层。向用户提供一组常用的应用程序,如EMAIL,FTP等。严格地说TCP/ IP 只包含前三层。PPP 协议的协议帧结构与多数常用软件兼容,而且还提供了在单一链路上同时复用多种网络协议机制。
  2.数据需求分析
  (1)数据传送的载体。在本文介绍的基于P2P技术的即时通讯软件程序中,在Visual C具体操作实现网络点对点通讯软件的关键就是实现信息在网络中的发送和接收。数据接收载体的是Socket,数据发送载体的是Network Stream。为了更清楚地说明问题,下面举简单示例说明接收和发送数据的流程。利用Socket来接收信息。软件程序在处理数据发送和接收时采用了不同的端口号,发送数据程序在缺省状态设定的端口号为“2244”。下面代码是侦听端口号“2244”,接受网络中对此端口号的连接请求,并在建立连接后,通过Socket接收远程计算机发送来的数据;利用Network Stream来传送信息。Network Stream载体的就是Stream Writer类和Stream Reader类,Network Stream在处理网络中数据传送时,有一个缺点就是只能用以传输字符类型的数据。在使用Stream Writer处理Network Stream传送数据时,数据传送的编码类型是“UFO6”,提出网络中对等计算机的连接申请,并在连接申请建立后,以UFO6编码发送字符串“您好,见到您很高兴”到对等计算机那里。
  (2)数据的一致性与容错性。由于对等计算机的信息在本地是共享的,所以就不存在数据一致性问题。但是由于没有固定服务器的支持,所以每一个对等计算机都要独立保存一份数据,当一部分对等计算机在线时,数据更新也只是这一部分计算机,这样就造成数据不一致。面对这个问题,我们的即时通讯软件就能够允许出现数据的不一致,并且在客户端上线后,能够即时获得更新。
  
  三、概要设计
  
  P2P作为一种网络的模型,有别于传统的客户/服务器模型。客户/服务器模型一般都有预定义的客户机和服务器。在网络中,传统上的客户机/服务器通讯模型中,发送服务请求或者发送数据的计算机,一般称为客户机;而接收、处理服务或者接收数据的计算机成为服务器。而在P2P中并没有明确的客户端和服务器。其实,在P2P模型中,每一台计算机既可以看成是服务器,也可以看成是客户机。
  1.网络模型设计
  纯P2P网络架构采用的是广播式的P2P模型。在这种架构下,没有集中的中央服务器,每个用户节点随机接入到网络,并与自己相邻的一组节点通过端到端连接构成一个逻辑覆盖的网络。节点之间的内容查询和内容共享都是直接通过相邻节点以广播方式接力传递。为了避免循环搜索现象,每个节点会记录其搜索轨迹。
  比如,Gnutella模型是现在应用最广泛最经典的纯P2P网络架构。它采用泛洪式的节点搜索算法,解决了网络结构中心化的问题,扩展性和容错性较好。但是,Gnutella网络可用性较差,易被病毒攻击,并且极大地消耗了网络带宽,很容易造成网络拥塞与不稳定。
  对于局域网的整体模型,采用了纯P2P的连接模型,充分发挥了点对点通讯的优势。在本地主机上保存了局域网其它结点的基本信息,直接通过目录列表与其它主机通讯,这样可以大大减少连接的开销。
  2.系统结构模型设计
  以需求分析为依据,结合教学模式的特点,系统结构模型划分为三层:显示层、控制层以及数据层。
  显示层主要是使用者与软件的交互平台,它实现友好的用户界面,是使用者获得和输入信息的渠道。
  控制层是整个软件的灵魂,大部分的底层操作都需要经过调用控制层的方法。包括初始化原始数据、网络消息的收发、网络消息的处理、用户信息的管理、基本窗口的管理。
  数据层是提供了存取、拷贝、查找和序列化等方法的信息结构体,它使得消息数据操作、数据库操作和基本信息数据操作都变得透明化。包括数据集对象、基本数据信息对象。
  
  四、结论
  
  本文介绍的P2P技术在教学即时通讯软件的设计应用程序方便,但涉及的知识面却比较多。其中,涉及到很多网络功能的实现,如侦听端口号、建立连接、发送数据和接收数据等,了解、掌握这些问题的处理方法对编写更复杂的网络应用程序是十分必要的。
  
  参考文献:
  
  [1]王一炜,杨可扬.浅谈P2P技术[J].忻州师范学院学报,2007.
  [2]侯太平,顾大权,汪晋.浅谈P2P技术[J].微计算机应用,2002,(06):22-24.
  [3]龚君芳,李圣文. P2P应用程序及设计[J].现代计算机,2002,(09):36-38.
  [4]毛薇,姚青,李涛.P2P系统发现技术的研究与实现[J].武汉理工大学学报,2002,(06):52-54.
  (作者单位:浙江理工大学信息电子学院)
其他文献
【摘要】 数学公式是初中数学教材的重要组成部分,是数学知识的主要载体。数学公式反映了数学对象的属性之间的关系,揭示了数学知识的基本规律。在教学中,数学公式的教学占有重要的地位,教师在数学公式的教学过程中,不能仅仅停留在公式的表面,应该以公式作为载体,注重公式的推导过程,引导学生亲身经历数学公式形成的过程,让学生真正对数学公式理解透彻,掌握公式的结构特征,熟悉公式的各种变换,并且能够运用公式解决数学
[摘要]《建筑施工技术》课是建筑工程专业学生的必修课程,对土建类高职应用型人才的培养起重要作用,该课程传统的教学模式已不能满足高职生职业能力培养的要求,其教学方法必须改革。文中阐述了笔者在教学实践中对教学方法改革的尝试,供大家参考。  [关键词]建筑施工技术 启发式教学 实践教学    《建筑施工技术》是一门实践性和应用性很强的学科,对培养建筑工程技术应用型人才起到尤为重要的作用。由于条件的限制,
[摘要]本文针对大学生心理健康状况不良的现状,提出在高校实施心理健康的同时,家庭教育的作用也不可忽视,并对大学阶段实施家庭教育的必要性、可行性、所持有的目标、应遵循的原则及存在的障碍等进行探讨,提出合理可行的方法使大学生心理得以健康发展。  [关键词]家庭教育 大学生 心理健康 心理障碍    一、教育的缺陷:家庭教育的必要性    1.家庭教育认识的误区  目前社会上及教育界所提倡的家庭教育,主
【摘要】 学校德育主要以说理的显性德育方式出现。而音乐中蕴含着丰富的德育内涵,可以通过音乐作品的学习上升到思想道德层面的教育升华,成为一种隐性的德育。本文对如何发挥音乐的德育功能进行了一些思考和探索。  【关键词】 中学 音乐教学 德育渗透  【中图分类号】 G633.951  【文献标识码】 A  【文章编号】 1992-7711(2020)02-167-020  “移风易俗,莫善于乐”出自儒家
[摘要]大学本科生的创新能力的培养是新时代赋予高等教育的一项重要任务,建立新型创新能力培养模式是高校老师一个重要课题。为此,本文提出了一个创新能力培养新型模式,通过创新意识的设置、创新精神的倡导和创新过程实践等方法,为实现学生创新能力的培养和提高尝试一条可行有意义的途径。  [关键词]高校教育 实验教学模式 创新能力    创新是科学发展的基石,关系到人类的生存与发展,创新能力是实现创新过程的前提
【摘要】 本案例对象是一名15岁高功能孤独症学生。该生存在行为问题:怕“鬼”,并由此问题引发出一系列影响自身正常生活和滋扰他人的行为问题。在课堂教学和自然情境下,通过对“死亡”主题学习,促进学生客观认识死亡和“鬼片”。通过加强家校沟通和“我的家”的主题学习,形成家校合力,建立学生在家庭中的安全感,从而解决滋扰他人的行为问题。  【关键词】 孤独症 高功能 怕“鬼”  【中图分类号】 G635.5 
【摘要】 《3-6岁儿童学习与发展指南》提出:“幼儿的学习是以直接经验为基础,在游戏和日常生活中进行的。要珍视游戏和生活的独特价值,创设丰富的教育环境,合理安排一日生活,最大限度地支持和满足幼儿通过直接感知、实际操作和亲身体验获取经验的需要。”自主游戏活动是让幼儿在直接感知的操作中得到自由、满足和快乐。而幼儿园整天活动,自主游戏占重要地位,它可以让幼儿自由选择和自由活动,使幼儿在活动中收获知识、技
【摘要】高中阶段,学生的学习压力增大、负担加重,不少学生因不堪学业压力的增大而出现心理疾病,或抑郁、或焦虑,甚至有部分学生因为个人意志力不够坚定,因为承受不住偶然失败的打击而轻视自己的生命,出现了自残甚至自杀的行为。如此种种行为的出现,让我们为一个个年轻生命院惜、为学生身体健康担忧的同时,更应当反思现前教育中存在的不足,要充分关注学生的意志力培养,注重对学生坚韧意志品质的锤炼,才能帮助学生铸就美好
【摘要】 创新是社会发展的内核,弘扬工匠精神是大趋势,培养幼儿专注、探索、合作,乐于动手和精益求精的精神势在必行,混龄班木工游戏是3-6岁幼儿混在一起,通过选择适宜自己的木工工具和材料,采用项目式团队合作的方式,在游戏中培养幼儿的专注力、想象力和创造力。  【关键词】 混龄教育 木工游戏 工匠精神  【中图分类号】 G612  【文献标识码】 A  【文章编号】 1992-7711(2020)01
【摘要】严复的“信、达、雅”三个字精辟地概括了翻译的标准,但在实践中达到这个标准,却不是一件容易的事。汉荚翻译中有两种倾向:一种是一味追求译文流畅、文辞优美,忽略乃至偏离了原意;另一种是过于拘泥原文字句,机械地从字面上“对号入座”,译文不顺而且难懂。这两种倾向都不符合“信、达、雅’’标准。我国的翻译工作一直在进步、在发展,尤其是改革开放以来的20年时间里,解决了大量出现的新问题、新词汇、新提法,在