版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多媒体管理系统毕业论文多媒体管理系统毕业论文论文题目 局域网内多媒体教学系统的研究与实现系另U 计算机与电子信息工程系专 业计算机科学与技术多媒体管理系统毕业论文摘要 随着我国计算机科学技术的迅速发展,多媒体教学已经成为现代教育的重要 组成部分,教育信息化势在必行,网络多媒体教学正在逐渐成为主流的教育形式。 网络多媒体教学为学习者提供了更为丰富、优质的学习资源,对提高教学质量、 转变教学观念以及推进全民教育产生积极影响。本课题针对本校计算机教室的教学和管理需要,设计并实现了一个局域网内 多媒体教学系统。在屏幕广播功能上,采用 类来进行全屏捕捉, 捕捉后的桌面图片以JPEG的格式进行存储,并在存
2、储的过程中进行了快速压缩, 在确保图片质量的同时降低传输的信息量,解决了现有的商业化网络教学系统广 播时网速卡的问题;在屏幕录制功能上,采用 Robot 类来完成对屏幕的捕获;在 多媒体数据压缩技术上,根据不同的媒体信息的特性采用了不同的压缩方式;在 提交作业功能上,通过应用层协议,用 UDP方式把要上交的作业高效率地传到教 师端。本系统实现了屏幕广播、屏幕录制、屏幕回放、教师端发布作业和学生端提 交作业等功能 , 并且测试结果表明,本系统取得了广播延时小、发送文件速度快、 系统运行稳定的效果。关键词: 局域网 多媒体教学系统 屏幕广播 屏幕录制多媒体管理系统毕业论文The research
3、and implement of Multimedia Teaching System on localarea networkAbstractAlong with the rapid development of computer science technology in our country, the multimedia teaching already became the important constituent of the modern education, the education informationization imperative, the network m
4、ultimedia teaching were becoming the gradually education form of the mainstream.The network multimedia teaching have provided richly, the high quality study resources for the learner, to improves the quality of teaching, the transformation teaching idea as well as advances to educate all the people
5、has the positive influence.This system has completed the screen broadcast, screen transcribing, screen playbacking,the teacher is held announcing school assignment and the student is held submitting school assignment and so on.and indicated of the test result, this system has obtained the broadcast
6、time delay slightly, the transmission document fast, the system movement stable effect.Keyword: Local Area Network Multimedia Teaching System Screenbroadcast Screenbranscribing多媒体管理系统毕业论文目录第一章 绪论 1.1.1 开发背景 1.1.2 当前多媒体教学系统技术现状 1.1.3 选题的意义 3.1.4 课题目标 3.第二章 系统开发于相关技术 5.2.1 Java 语言与开发工具 5.2.2 本系统采用的图像压
7、缩算法 5.第三章 多媒体教学平台的设计 7.3.1 需求分析 7.3.2 系统基本结构 8.3.3 协议设计的模型 9.第四章 多媒体教学平台的实现 1.14.1 屏幕录制 屏幕播放 教师机与学生机的连接 1.44.4 屏幕广播 教师端发布作业 学生端提交作业 2.4.第五章 软件测试过程 对屏幕录制、屏幕回放的测试 2.75.2 对教师机和学生机自动连接的测试 2.75.2 对屏幕广播、教师端发布作业的测试 3.05.4 对提交作业的测试 3.0.第六章 总结与改进 3.2.参考文献 3.3.致谢 3.4.多媒
8、体管理系统毕业论文第一章 绪论1.1 开发背景 计算机辅助教学改变了以往教学中形式单一,信息量小等等诸多弊病,多媒 体辅助教学能实现个性化教育,发展被教育者的积极主动性,具有良好的视觉、 听觉效果、丰富的知识表达能力等多种有点。随着全球信息化进程的不断发展, 教育信息化势在必行,多媒体教学正在逐渐成为主流教育形式。多媒体教学为学 习者提供了更为丰富、优质的学习资源,必将对提高教学质量,转变教学观念以 及推进全面教育产生了积极的影响。1.2 当前多媒体教学系统技术现状1多媒体教室 随着教育事业的不断发展,教学改革的不断深入,借助计算机网络技术和多 媒体技术,改变传统的教学手段,已成为各类学校改善
9、教学条件、提高教学质量、 强调素质教育、 培养顺应新时期要求的高素质人才的共同需求 1 。现在多媒体网络 教室将多媒体计算机同网络技术紧密结合起来,在网络教学的基础之上更强调电 脑辅助教学功能。既教师利用网络多媒体教学平台直接在计算机上进行课程教学, 并能将有限的资源实现共享,达到一室多用,一室多能。多媒体网络教室在计算 机网络的基础上,借助影音传输和控制系统,实现声音、图像等多媒体信息在计 算机网络上的实时传输,使得各种文字、图形、图像、声音、动画等多媒体资料 皆可用作教学素材,从而使得教学的内容和方式更加生动活泼、多姿多彩。传统 意义上的多媒体网络教室包括计算机、网络设备以及操作系统。现代
10、的多媒体网 络教室还要具备教师和学生之间能够相互沟通、辅导和控制的多媒体网络教室平 台软件。有了这样的平台软件,教师就能够向学生广播、转播屏幕内容和声音, 并能够进行远程控制学生机,使教学更加方便。因此,一个完整的多媒体电子教 室应包括:计算机 (PC) :教师机 ( 服务器 ) ,学生机; 网络设备:网卡,网线,集线器或交换机等; 操作系统: Windows;其它设备:配件 ( 耳麦) ,应用软件,教学软件,机房设备 ( 防静电设备,稳 压电源等 ) 。多媒体教室的基本构成如图 1-1 所示:图1-1多媒体教室教学示意图2 多媒体教学系统多媒体教学系统,可以将教师的屏幕画面和声音传输 (播)
11、给所有或特定的学 生,并可以监看学生的屏幕,控制学生的操作。教师与学生可以双向交谈,任何 教学软件和多媒体声、像教学资料,均可以对学生实时播送和监看,从而达到多 媒体的电脑教学的目的。多媒体教学系统,根据其设计原理和实现方式的不同可以归为三大类:硬件实现方式、软件实现方式、硬件结合实现方式,以前两种为主。2(1) 硬件实现方式硬件实现方式完全利用传输模拟信号的多媒体卡实现多媒体信号的传输。由 于模拟信号在传输视频信息上具有得天独厚的优势,因此在图像的质量上,由硬 件实现方式的多媒体教学系统更具有优势。由于采用专用的视频和音频控制芯片、 控制电缆和控制台,多媒体教学系统的图像清晰、传送可靠,而且
12、不依赖于计算 机原有的硬件平台和软件平台。但由于采用专门的硬件设备,成本难以下降,由 于使用专用的多媒体卡和线路连接使系统维护困难,系统升级困难,使用功能比 较单一。(2) 软件实现方式软件实现方式是指运行于底层数据网环境之上的,完全用软件来实现的多媒 体教学系统,多媒体的影音信号及控制信号均通过底层数据网进行传输。软件版 的多媒体教学系统通过一套专门设计的软件,利用计算机网络,来实现原来硬件 多媒体教学系统的所有功能。此方式的特点是成本低,无需添加其它附件,安装 维护简单,软件版本容易升级,可实现多种功能,但由于图像传输需经过压缩/解 压缩技术完成,故对计算机硬件配置及网络速度有较高限定要求
13、。目前软件方式 在图像和声音传输效果,尤其语音教学功能方面还有待于进一步提高与完善。(3) 软硬件结合实现方式 软硬件结合实现方式是通过在每台计算机中加装一块多媒体网卡,并用专门 的多媒体传输网线将每台计算机串接起来,以此来实现多媒体影音信号的独立通 道传输。这样就确保了影像的同步全屏传输,并且对学生机的硬件配置要求不高, 不需要加声卡,多媒体网卡上自带语音功能。此方式成本太高,而且由于多媒体 控制信号仍需借助底层数据网实现传输,每台计算机中需安装软件驱动程序,整 个系统安装、维护起来有一定的难度,需具有一定的网络知识。基于网络设计的 软件多媒体教学系统是多媒体网络教室的发展方向。1.3 选题
14、的意义 本课题针对多媒体教学模式由传统的黑板教学模式向多媒体教学模式发展的 新趋势,结合 Java 在 Jbuilder 平台成熟的技术,着重在于计算机汇集视听媒体 于一身的发展,对多媒体教学系统做一些新的研究与应用。传统的电脑教室,一般辅以投影仪或硬件网络系统来建立多媒体教学系统, 但由于高昂的成本和一些其它的原因,并不是一般教室可以配备的,而且硬件设 备耗损大、维护繁琐、升级麻烦都是令学校困扰的问题,而作为一种纯软件的解 决方案的多媒体教学系统,完全避免了这些硬件问题,而且教师可以把理论教学 与实践操作相结合,直接在教师机上进行各种教学演示,并且把每一步操作过程 都与实时同步传送到学生的电
15、脑屏幕上。各种大量的多媒体课件资料、光盘教学 资源、实验演示系统、教学方法和经验等都可以借助多媒体教学系统软件这种汇 集语言、图片、文字、动画于一体的现代交互式教学模式实现了。可以在整个多 媒体教室共享文字、图像、语音、视频资料。这样,通过构建一种文字、语音、 视频图像的相互交流环境,学生可以同时在自己的电脑屏幕上分享各种教学资源, 不但大大较少了教师端工作负担,提高了教学效率,而且也使教学内容及其生动 活泼,学生乐于接受。目前,国内已经有一些相对成熟的教学软件,比如凌波多媒体网络教室软件 和博智多媒体电子教室系统,这些软件都有很强大的功能,而且操作方便;但是, 这些软件在市场上都有着昂贵的价
16、格,而且操作系统依赖强。介于这些软件以上 的缺点,本课题选择用一种更新更快捷的语言 JAVA 来实现。并且是根据本校 的实际情况,量身定做,使它更加符合本校多媒体教学的要求,以进一步提高本 校多媒体教学质量。1.4 课题目标多媒体教学系统利用计算机教室现有的电脑网络设备,实现教师机对学生机的广播、监控、语音教学等操作,辅助学生完成电脑软件的学习和使用。多媒体 教学系统适用于各类学校以及企事业单位、培训机构的电脑机房、计算机网络教 室及电子阅览室中。本课题要实现以下功能:屏幕广播:实时传送教师或某个学生的电脑画面到某组或全体学生的电脑屏 幕上,教师可以用这个功能进行多媒体课件的教学,演示Word
17、、SQL 数据库等软件的操作,还可以让某个学生进行示范;屏幕录制:录制上课内容以便制作教学视频;屏幕回放:对已录制的内容进行网络回放; 教师端发布作业:老师可以把要布置的作业放到所有已经与教师机连接上的 学生机上。学生端提交作业:学生可以把相应格式的文件发送到教师的电脑中; 提问、回答与讨论:当老师向学生提出问题的时候,同学回答老师的问题, 当同学有疑问向老师请教的时候,老师帮同学解答问题;显示 IP :显示已和教师机连接的学生机的 IP;屏幕监视:让教师对选中 IP 的学生机的电脑屏幕进行实时监视,教师可以不离开座位就了解学生的学习情况,实现对整个网络上学生机的监控与管理;在线人数:统计已经
18、与教师机连接上的学生机数,以便老师了解学生到课情况;警告:教师机在对学生机进行屏幕监视的时候,发现学生没有按照老师的要 求进行相关操作的时候,教师机可以使用命令对其进行警告;关机、重启、注销:可以把选中 IP 的学生机关闭、重启和注销操作。第二章 系统开发于相关技术2.1 Java 语言与开发工具语言的特性本课题选择 Java 作为开发语言,因为它具有面向对象、分布式、平台无关、 高性能、支持多线程等特性。Jbuilder 的特点本课题选择 Jbuilder 为开发平台,它具有以下特性:1. Jbuilder 支持最新的 JAVA技术,包括 Applets、JSP/Servlets、JavaB
19、ean 以及 EJB(Enterprise JavaBeans) 的应用。2. 用户可以自动地生成基于后端数据库表的 EJB Java 类, Jbuilder 同时还 简化了 EJB的自动部署功能。此外它还支持CORBA相应的向导程序有助于用户全 面地管理 IDL( 分布应用程序所必需的接口定义语言 Interface DefinitionLan guage)和控制远程对象。3. Jbuilder 支持各种应用服务器。 Jbuilder 与 Inprise Application Server 紧密集成,同时支持 WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发
20、 J2EE的电子商务应用。4. 利用Jbuilder可创建(没有专有代码和标记)纯JAVA2应用。由于Jbuilder是用纯JAVA语言编写的,其代码不含任何专属代码和标记,它支持最新的JAVA标准。5. Jbuilder 拥有专业化的图形调试介面,支持远程调试和多线程调试,调试 器支持各种 JDK 版本,包括 J2ME/J2SE/J2EE。 Jbuilder 环境开发程序方便,它 是纯的JAVA开发环境,适合企业的J2SE开发。2.2 本系统采用的图像压缩算法本系统采用用软件编解码的方法对图像数据压缩和解压缩。在授课中屏幕 图像变化率很低,有时屏幕电子教案可能要延用几分钟。这种运动图像信号,
21、除 帧内像素间相关外,帧与帧之间的像素值也有很强的相关性,且帧变化较平稳。 若能利用帧之间的数据相关性,通过特殊变换,屏蔽帧与帧之间的变化,使之表 现为大量连续相同数据,只保留差异,则使用简单高效的行程编码就能得到较高 的压缩比。本系统对帧间编码使用了两种方案,一种是基于异或运算的帧间无损 压缩,一种是基于差值量化的帧间有损压缩。1.基于异或运算的无损压缩:利用异或运算性质可知,令X为时刻获取的屏幕图像的像素值,丫为时刻获取的屏幕图像的像素值,在传送端,对两幅图像的像 素按位进行异或运算,相同的像素异或结果为 0。如果帧与帧之间的变化很少,则 会出现大量连续的 0。再用简单的行程编码对异或结果
22、进行压缩, 可以得到较好的 压缩结果。传输压缩后的数据,在接收端接收并解压缩,与上一帧图像像素再次 进行异或运算可还原该图像。 32基于差值量化的有损压缩:由人的视觉、生理、心理学的论证可知,肉眼 对大面积图像能分辨出的灰度等级比对小块图像或细节部分的灰度等级大得多。 亦即,如果相邻像素的色值差别很小,人的眼睛无法分辨,可考虑将相邻且相近 的色值量化为 1个色值。 3第三章多媒体教学平台的设计3.1需求分析现有教学系统的问题目前,市场上现有的网络多媒体教学系统成本相对较高,系统依赖性强,针 对本校的情况,如果要在每一个计算机教室都安装这样的系统,那么超额的成本 使这项工作难以进行。针对这个问题
23、,研发一个具有自主知识产权的跨平台的多 媒体教学系统是一项势在必行的工作。本系统功能模块分析本系统采用C/S(Client/Server)模式。学生机作为Client(客户端),而教师机作为Server(服务端)。教师机为学生机提供服务,并对学生机进行管理。本系 统需要有教师机和学生机这两个部分,教师端功能:屏幕广播,教师端发布作业, 屏幕录制,屏幕回放,屏幕监视,提问问题、问题答疑,显示学生机的IP,在线人数统计,网上聊天,发出警告,关机、重启、注销;学生端功能:学生端提交 作业,接受广播,接受监视,接受警告,接受关机、重启和注销,向老师请教问 题等。功能模块如图3-1 :图3-1功能模块图
24、3.2系统基本结构3-2本系统的设计主要是针对局域网内一台教师机和多台学生机的模型,教师机 充当服务器的角色,学生机充当客户机的角色,其系统的基本结构示意图如图 所示:学主机教师机图3-2系统结构示意图学生机3.3协议设计的模型基于UDP多媒体转输协议设计的模型系统,与 RTP/RTC协议相比,系统设计 的时候简化了排序处理等流程,同样采用了客户端 /服务器模型。下面分别给出服 务器的发送程序流程图和客户机的接收流程图,如图 3-3和图3-4所示。图3-3服务器的发送程序流程图发送端首先获取经过压缩的一帧视频数据,递交给UDP分组处理。然后将一帧视频数据按照要求分解为适合网络传输的一系列小的数
25、据包,并加上此协议的 分组包头,其中包括数据包的顺序号、时间戳,视频数据的压缩格式等参数,然 后完成发送。发送端根据接收端反馈的延迟估计和接收质量报告调整发送速度。 客户端从端口获取数据包后写入接收缓冲区。根据数据包头信息确认数据包是否 丢失,做出相应处理。由于在发送端控制每个发送的数据包小于1024字节,所以在止常的网络状况下传输的延迟比较小。而且由于发送的数据包大小一样,并且 严格控制数据包发送的时间间隔,传输抖动现象发生的可能性很小。所以,在客 户端只按照接收到的数据包的序列号的顺序判断是否有丢失现象发生。如果接收 的数据包是有序的,则认为没有丢失现象发生加果接收的数据包是乱序的,则作为
26、丢失数据包处理。经过查阅相关资料证明了这种处理方法是简单有效的。再接 收到一个完整的帧数据的所有分组后,根据序列号是否连续判断是否发生数据包 的丢失,分离数据包头,最后恢复成一帧完整的视频数据,再根据缩格式标记送 往相应的解码流程。图3-4客户端的发送程序流程图第四章多媒体教学平台的实现4.1屏幕录制由于屏幕截取比较接近操作系统的操作,在Windows操作系统下,该操作几乎成了 VG VB等的专利,事实上,使用Java JDK提供的一个Robot类,来完成 屏幕截取操作,更加简单。Robot类的对象,可以完成对屏幕像素的拷贝,完成屏 幕图像截取操作。该类用于产生与本地操作系统有关的底层输入、测
27、试应用程序 运行或自动控制应用程序运行。Robot类提供了一个方法: createScree nCapture(),可以直接将全屏幕或某个屏幕区域的像素拷贝到一个 Bufferedlmage对象中,我们只需要将该对象写入到一个图像文件之中,就完成了屏幕到图像的拷贝过程。循环这个操作,将一系列图像文件保存到硬盘上的某个 文件夹中,这样就可以完成屏幕录制了,在本课题软件中捕获的是全屏幕区域。 实现的流程图如图4-1所示:图4-1屏幕录制执行过程流程图/取得当前显示器的分辨率:获得屏幕scree nSize = Toolkit.getDefaultToolkit().getScree nSize()
28、;大小recta ngle = new Recta ngle(scree nSize); /可以捕获屏幕区域/实现录制过程的主要代码如下:while (true)tryBufferedlmage image = robot.createScree nCapture(recta ngle);/把捕获到的指定屏幕矩形区域图像存放到可访问的图像数据缓冲区Image, createScreenCapture捕获指定屏幕矩形区域的图像fos = new FileOutputStream("C:records" + i + ".jpg");/创建一个文件输出流对象,
29、往指定的文件里面写图片/FileOutputStream创建一个向指定File 对象表示的文件中写入数据的文件输出流JPEGCodec.createJPEGE ncoder(fos).e ncode(image);/图像编码成JPEGfos.close();/关闭输出流i = i + 1;/进行下一张的图片写入Thread.sleep(40);每秒25帧,每40毫秒保存一张当在主界面上点击“屏幕录制”按钮的时候,会弹出一个录制的对话框,效 果如图4-2所示:图4-2屏幕录制界面4.2屏幕播放屏幕播放可以让教师预先录制好屏幕图像,以JPG格式的图片形式存储,以后通过“屏幕回放”功能可以进行播放,
30、再现录制时的屏幕图像画面。这既可以 方便老师提前备课,又解决了学生跟不上教学进度的问题,还可以让学生在课余 的时间自己去温习上课的内容,极大提高教学效率这个功能是建立在屏幕录制之 后的,把屏幕录制保存下来的一系列连续的图片调出来并与屏幕录制相同的速度 显示在电脑屏幕上,这样就可以看到之前录制的屏幕了。 其实现的流程图如图4-3 如下:图4-3屏幕播放执行过程流程图实现的主要代码如下:public void run()int i = 0;/定义图片从序号0开始while(true)trycimage = loadlmage(i + ".jpg");/取得一张图片i = i +
31、 1;多媒体管理系统毕业论文repai nt();重绘Thread.sleep(40);与录像时每秒帧数一致catch(Excepti on e)e.pri ntStackTrace();打印异常的消息当在主界面上点击“屏幕播放”按钮的时候,就会看到一个播放的对话框, 效果如图4-4所示:图4-4屏幕播放界面图4.3教师机与学生机的连接市场上的很多软件(如本校计算机教室用到的凌波多媒体教学软件),如果 教师机比学生机先启动的话,后启动的学生机就连接不上教师机了。本系统克服 了这一缺点:不管学生机先启动还是教师机先启动,教师机与学生机都能自动连 接。本系统采用了套接字Socket机制,分别在教师
32、端程序和学生端程序里面写了 一个连接文件ClientSocket.java,这个就是克服以上缺点的重点方法。而且程序里面用到一个端口和IP的构造函数,并没有对方机子的端口号和IP绑定,所以在运行软件的时候,不需要进行物理的设计端口号和IP。其实现的代码如下:public ClientSocket(String ip, int port) /构造函数,IP 地址和端口号this.ip=ip;this.port=port;/创建socket连接:public void CreateCo nn ecti on() throws Excepti ontrysocket=new Socket(ip,po
33、rt);catch(Excepti on e)e.pri ntStackTrace();if(socket!=nu ll)socket.close();throw e;fin ally创建了 Socket连接了之后,用方法getMessageStream()来取得消息流;当服 务器窗口关闭或者关闭Socket或者无法取得消息流的时候,用方法 shutDowConnection()来实现断开连接。当实现连接后,学生端会显示:“教师端已经连接”,如图 4-5右下角所示:图4-5学生机实现连接后的界面图同时,教师端也会显示所连上的学生机的IP,如图4-6左上角所示:图4-6学生机IP已显示的教师端界
34、面图由于教师端和学生端用到的是同一个Socket文件来实现连接,所以只有上面的程序,也只能实现教师机和学生机的一对一的连接,根本无法实现一台教师机 连接多台学生机的设想。因此,本系统在教师端程序中还采用了多线程机制,实 现接收连接或者主动连接多台学生机。/创建广播通信:MulticastSocket multicastSocket = new MulticastSocket(6789);/加入广播组:multicastSocket.j oin Group(i netAddress);4.4屏幕广播广播功能将教师机屏幕上的画面传输给所有学生机。教师在不进行额外设置 的情况下,对桌面所操作的画面、
35、屏幕播放的画面进行有效截取。屏幕的截取主 要使用的是类来捕获屏幕,可以实现对屏幕进行一个全屏捕捉,代码如下:public Icon captureFullScree n() fullScree nl mage = robot.createScree nCapture( new Recta ngle(多媒体管理系统毕业论文Toolkit.getDefaultToolkit().getScreenSize();/ 捕获屏幕图像 ImageIcon icon = new ImageIcon(fullScreenImage);return icon;/把捕获的桌面图像以JPEG的格式进行存储:publ
36、ic void saveAsJPEG(File file) throws IOException ImageIO.write(getPickedImage(),"JPEG",file);/将捕获的屏幕保存为JPEG格式的文件public void write(OutputStream out) throws IOExceptionImageIO.write(getPickedImage(),defaultImageFormater,out);/ 将捕获的屏幕保存为默认格式的文件 图像信息进行在存储的同时也进行了快速压缩,在确保图片质量的同时降低 传输的信息量。代码如下:/
37、为等比缩放计算输出的图片宽度及高度double rate1 = (double) srcFile.getWidth(null) / (double) width+0.1;double rate2 = (double) srcFile.getHeight(null) / (double) height+0.1;double rate = rate1 > rate2 ? rate1 : rate2;int new_w = (int) (double) srcFile.getWidth(null) / rate);int new_h = (int) (double) srcFile.getHe
38、ight(null) / rate);BufferedImagetag=newBufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB); / 创建缓冲区图像 BufferedImage 的一个对象 tag.getGraphics().drawImage(srcFile, 0, 0, new_w, new_h, null); / 绘制缩小后的图newImage=new ImageIcon(tag);/ 设计压缩之后临时存放的位置:FileOutputStream out = new FileOutputStream("screen.jp
39、g");JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);/对输出流进行JPEG格式编码JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag);/ 进行压缩质量的处理: jep.setQuality(quality, true); encoder.encode(tag, jep); out.close();srcFile.flush();当图片处理完之后,采用UDP专输协议对数据进行传输,有效地进行组播 本系统设计发送数据报文方法如下所示: pu
40、blic void sendMutiCast(String s)trybyte b=s.getBytes();/ 组播组:DatagramPacket datagramPacket =new DatagramPacket(b,b.length inetAddress,6789); / 构造一个数据报对象,端口号: 6789MulticastSocket multicastSocket = new MulticastSocket(); multicastSocket.send(datagramPacket);/发送该UDP包。此时:只有该组中的成员才能收到该UDP包multicastSocket
41、.close() ; /关闭组播的 Socketcatch(Exception e) 其组播流程如图 4-7 所示:结束图4-7组播程序流程图同时,用一个专门的广播线程,将屏幕广播发到学生端,其实现的代码如下:while(lsWork)tryScree nCapture capture = Scree nCapture.getl nsta nce(); fafa.SetScree n(capture.getFulllc on();/发送屏幕广播到学生端fafa.Se ndlmage(); fafa.Se ndTeacher(); sleep(1000);catch(Excepti on e)广
42、播发出之后,在学生端用函数ScreenBroadcastClient()来接收教师端的广播,其实现的代码如下:public Scree nBroadcastClie nt()mypa nel=new MyPa nel();this.getC onten tPa ne().add(mypa nel);this.setDefaultCloseOperatio n(this.EXIT_ON_CLOSE);屏幕广播实现的效果图如图4-8所示:图4-8屏幕广播效果图4.5教师端发布作业发布文件功能主要是用于课堂上,当老师要给学生布置作业或者参考资料时, 把相应格式的文件发送到所有连接上教师机的学生机上。
43、发布文件功能的实现基 本思路如下:1. 教师端和学生端建立连接;2. 教师端把要发送的相应格式的文件拷贝到教师机下面的临时文件夹中;3. 教师端往学生端发送已经准备好可以下载的命令;4. 学生端接收到教师端发送过来的命令后,调用方法主动从教师端下载文件。 发布文件流程图如图4-9,如下所示:图4-9发布文件流程图教师端主要代码:String Filename=SetFile.getFile();/ 获取文件名String ff=SetFile.getDirectory()+Filename;/ 获取文件全路径CopyFileFrom(ff); / 拷贝文件到本地目录/ 发送通知报文String
44、 cmd="DownLoadHomeWork"/定义用于发送给学生端的"DownLoadHomeWor命令CmdParser ss=new CmdParser();/ 声明了一个封装命令方法 ss 对象String msg=ss.FormatCmd(cmd,Filename,getLocalIp(),"student");/ 定义msg信息SendMsg kl=new SendMsg();/ 实例化 SendMsgkl.sendMutiCast(msg);/ 发送信息教师端的主代码中调用了 CopyFileFrom() 方法,在 CopyFil
45、eFrom() 中,定义 了一个缓存区temp,教师端把将要发布给学生的文件临时存放到 temp中,并等待 学生端来下载,在等待的同时,向学生端发送通知下载报文。学生端接收到通知后,调用下载命令去下载文件,主要代码如下:if(cmd.equals("DownLoadHomeWork")/如果教师端发布"DownLoadHomeWor命令String FileName=fafa.GetContent(mutiCastMsg);stude nt.Dow nLoadHomeWork(FileName);/ 调用 Dow nLoadHomeWork方法进 行下来 Dow
46、nLoadHomeWork方法的重要代码如下:public void DownLoadHomeWork(String home)/ 启动文件下载线程String command="http:/"+this.TeacherIp+":8088/temp"HttpDownLoad fafa=new HttpDownLoad(command,home,this); fafa.start();HttpDow nLoad下载方法的主要代码如下:byte b=new byte1024;int nRead;DataOutputStream FileOut=newData
47、OutputStream(newFileOutputStream(objName);while( nRead=i nput.read(b)>0) )FileOut.write(b);FileOut.close();(”老师已经把作业"+objName+"发布到学生端 在的文件夹!");在教师端点击发送文件时会弹出文件选择对话框,如图4-10所示:图4-10文件选择对话框教师端给学生端发布完文件后的提示对话框如果4-11所示:图4-11发布完文件后的对话框当教师端发布完文件后,已接收到文件的学生端会在文本讨论区显示:老师 已经把作业XX发布到学生端所在的文件夹
48、。学生端所在的文件夹就是安装本软件 所在的文件夹。显示效果如图4-12所示:图4-12教师端发布完作业后学生端的消息显示图4.6学生端提交作业学生端跟教师端连接上之后,学生端就可以往教师端发送文件。学生端在选 择文件之后,点击上传,学生端对文件进行封装后通过 UDP专输,文件会保存到教 师端的文件夹下。其流程图如图 4-13所示:图4-13提交作业执行过程流程图实现提交作业的主要代码如下:多媒体管理系统毕业论文File fi=new File(FilePath);/构建新的 BufferedReader 对象s=ss.accept();/ 监听是否与教师机连接DataInputStreamdi
49、s=newDataInputStream(newBufferedInputStream(s.get InputStream();/s.getInputStream()获 得网 络连 接输 入, 同时 返回 一个IutputStream 对象实例dis.readByte();DataInputStream fis=new DataInputStream(new BufferedInputStream(new FileInputStream(FilePath);DataOutputStreamps=newDataOutputStream(s.getOutputStream();/s.ge tOut
50、putStream() 网络连接输出ps.writeUTF(fi.getName();/ 将文件名传给教师端ps.flush();/ 将内存中的数据一次性输出ps.writeLong(long)fi.length();/ 将文件长度传给教师端ps.flush();len=(long)fi.length();/ 取得上传文件字节的大小int bufferSize=8000;/ 设定允许读取到缓冲区的最大长度byte buf=new bytebufferSize;/ 要将字节流读入的缓冲区学生发送作业的同时,教师端也有个接收程序: ClientFile.java 。教师端等 待学生端的文件上传连接
51、,在连接后将文件名传输给教师端,并把文件大小告知 教师端,教师端通过这些信息,接收文件信息,设定好自身的保存目录,循环接 收文件,直到文件上传完毕,主要用到的函数如下:创建连接的方法:createConnection()发送消息的方法:sendMessage()接收消息的方法:getMessage() 当在主界面上点击“提交作业”按钮的时候,就会看到一个对话框,效果如图 4-14 所示:图4-14提交作业对话框成功后显示如图4-15所示:图4-15提交作业成功后学生端显示的对话框当上传成功后,在教师端界面上显示:学生XX上交了作业保存在X盘中,如图4-16所示:1 s 1 W 11 . I &
52、amp; £»nwn聊棊广裕屛莓录制屛英回啟,曲监梶站文件电干点窖瞽吿关机£.6汪销禅裁举功能(F)辄肋(H1学生列去霹吊曲習呂联机讨论11亚.區Q 3学主152 1&B 0 3上熒了作业保存在匚蛊掲目录中 学生192 168 0.41上烹了作业図存在U盘根目录中图4-16提交作业成功后教师端的消息显示框多媒体管理系统毕业论文第五章软件测试过程5.1对屏幕录制、屏幕回放的测试屏幕录制和屏幕回放是在教师机上运行的,是单机的操作。当录制完成后, 通过屏幕回放把屏幕录制保存下来的一系列连续的图片调出来并与屏幕录制相同 的速度显示在教师屏幕上
53、,并且可以通过屏幕广播发送到学生端。其运行效果图 如图4-2和图4-4所示:测试通过。5.2对教师机和学生机自动连接的测试单独运行教师端时,教师机上没有学生机 IP的显示,在线人数显示0人, 如图5-1所示:图5-1单独运行教师端时的界面图单独运行学生端时,学生端的界面上右下角显示:教师端未连接,如图 5-2 所示:图5-2单独运行学生端时的界面图当教师端和学生端一起运行时,不管是运行教师端还是学生端,只要是同一个局域网内,都能自动连上,如图 4-5和图4-6所示。在测试中发现,当时不管运行多少台学生机,但在教师机上面显示的IP只有一个,也只有一台学生机上面显示“与教师机连上”。结果说明:一台
54、教师机只能连接上一台学生机。发现了 不足之后,本人进行了改进:在教师端程序里面添加了多线程机制(在第 4.1已 经介绍),并进行多次次调试和测试,结果教师机上可以显示所有已运行的学生 机的IP,并且所有运行的学生机上面也显示与教师机连接。如图5-3所示:图5-3教师机连接上多台学生机时已显示IP的界面图图5-4多台学生机连接上教师机后学生端的界面显示图测试通过。5.2对屏幕广播、教师端发布作业的测试能进行屏幕广播的先决条件是:学生端与教师端已经连接上。当教师机可以 连接多台学生机的时候,教师端的广播也可以发送到多台学生机上了,如图4-8所示:可以在学生端看到教师端广播的画面。同理:对教师端发布作业的测试,其运行效果图如图4-10,图4-11和图4-12 所示:测试通过。5.4对提交作业的测试学生端跟教师端连接上之后,学生端就可以往教师端提交作业。学生端在选 择相应格式的文件之后,点击上传,学生端对文件进行封装后通过UDP传输,文件会保存到教师端的文件夹下。刚开始测试实现:当学生向老师发送作业时,需 要老师点击确定接收。如图5-5所示:屛霖厂播屛蒋广措屛皋录制电孑点呂%课堂捉同a丈件删&99文件(S)数学功龍(F)显示(V
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑施工合同担保书
- 物业使用权转让协议书格式
- 在线辅导合同模板
- 学生与学校入学合同协议书
- 服务外包技术支持框架
- 设计合同解除合同解除合同案例分析
- 软件开发及外包服务
- 二手房买卖合同的权益保护指南
- 员工外出安全管理规定
- 房屋买卖合同的签订步骤与方法
- 天津市2022-2023学年六年级上学期数学期末试卷(含答案)
- DD 2019-11 地-井瞬变电磁法技术规程
- 老人及儿童合理用药课件
- 重型再生障碍性贫血造血干细胞移植治疗课件
- 2024届贵阳市八年级物理第一学期期末检测试题含解析
- 新教材部编版道德与法治五年级上册第四单元测试题及答案
- 农村原民办代课教师教龄补助申请表
- 高边坡专项施工方案样本
- 2023年污水站设备维修 污水处理厂设备维护方案(五篇)
- 实用牛津树授课PPT27. ORT-PreK-L27-The-Dream-200602105041-200815212000
- 研究十二生肖的文献
评论
0/150
提交评论