研一数字通信技术音网络通信传输_第1页
研一数字通信技术音网络通信传输_第2页
研一数字通信技术音网络通信传输_第3页
研一数字通信技术音网络通信传输_第4页
研一数字通信技术音网络通信传输_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

2015《数字通信技术》课外设计项总结报 音网络通信传输系统 任课教师 组长成员成员于成员成员成员宁:二零一一、项目的设计要求和目运用Java编程和数据库技术,开发一个音网络通信系统,实现、开发客户端操作界面程序和数据库服务程、客户端点播服务器中的音内容,传送到客户端界面上显、客户端程序和数据库服务程序位于两立计算机上,通过网络Mysql,Oracle,SqlServerJava、J2EE技术及原理,可以使用Java、HTML、JavaScript、JSP、XML等二、方案和技术路我组开发的音网络通信系统主要由客户端、数据库、应用服务器和流服务器四部分构成。系统的运行流程如下:(1)、用户通过客户端操作界面选择所需的音乐或,客户端通过Http协议根据用户所选文件向应用服务器发送请求。(2)、应用服务器根据客户端请求查询数据库,数JSONHttp(4)、客户端根据应用服务器收到的URL地址通过Http协议流服务器。(5)、存放着音频和的流服务器根据URL地址向客户端返回相应的网络流实现客户端。图1为系统的具体运行流程:

图1音频网络通信系统运行流本系统采用B/S,即浏览器/服务器结构,为实现客户端和服务器在两立的电脑上运行,通信系统的可靠传输,因此在部署服务器和客户端时置主机(服务端)和另一台电脑(客户端)的IP、(即两个IP地址的网络号相同,默认网关为,在关闭的情况下,用命令进行网络连通性测试,通则两台电脑位于同一局域网内。命令进行连通性分别23:图2主机(服务器)客户

图3客户端主机(服务器本系统基于MVC架构,采用模型(model)-视图(view)-控制器(controller)码。CM和VM改变,V应该同步更新。本系统中的模型层由Mysql数据库和IIS音服务器两部分构成,两者通过唯一的文件名将数据库和用户上传的文件相互关联起来。Mysql数据库存放了音文件的文件名、存放位置、以及上传时间等相关信息,采用MyBatis框架实现数据的持久化。MyBatis作为支持普通SQL查询,过程和高级映射的持久层框架,消除了几乎所有的JDBC代码和参数的手工设置及对结果集的检索封装,大大提高了数据库编程的效率。Windows自带的IIS信息服务管理器相当于一款容器池,存放了数据库中对应的音频及文件,根据用户请求所需音频及在客户端服务器。户端程序使用JavaScript、Html语言编写,配合JQuery库和EasyUI插件,简化了查询及控制页面的开发,利用Ajax实现局部刷新。客户端的音器则采用基于HTML的Jyer器,它支持的音频格式有mp3、wmv、wma以及ogg、格式包括mp4和m4v,能够充分满足用户的需求。客户端的部分则同样采用JavaScript语言编写,JQuery库和EasyUI插件的运用使得界一方面,视图向用户显示相关的数据,例如音频、的名字和数量,并能接收用户的输入数据,即接收用户选择音的操作,但是它并不进行任何方面,视图需要接收模型发出的数据更新,从而对用户界面进行同步更新。例如服务器中音资源的内容发生改变则相应地客户端音列表的内、controller(控制器本系统的客户端及服务端控制层均采用SpringHttp协议进Http协议借助Servlet进行通信并传输数据。三、调试过程序的运行有两种方式,一种是在eclipse里通过jetty打包再经浏览器访问,另外一种是使用Tomcat打包。后者更为独立和简便,因此选用后者调试程在主机(服务器端)部署用于存放音频和的Internet信息服务(IIS)管理器。具体步骤如下(1、设置名称,音频的为audio,(2件存放的具体URL(3、设置主机名并绑定局域网内本机的IP地址,设置合适的音频及文件的端口,端口必须保证未被占用。其次,打开Tomcat5为主机Server6为连接服务器的客户端启动界面最后,进入主机浏览器,站,进入客户端电脑 4IIS5Server端Tomcat图 端Tomcat服务器启动窗四、测试及结果分1主机的服务器MyMediaServer,见图7,服务器导航栏包括音管理、我的音频和我的三个标题,分别实现音文件的上传/删除、音频文件查询以及文件查询的功能。上传音频文件时,首先选择文件,将要上传的音频文件选中(文件格式应当是mp3、wmv、wma以及ogg中的一种,点击SaveAudio,若弹图8框,则上传成功。文件的上传方法类似,但须注意文件格式为MP4或M4V。7图8音频文件上传成 图9文件上传成图10、图11分别对应已经上传成功的音频及文件,若要删除文10图11服务器文2客户端ydia ,主页为欢迎页,显示“数字通信技术第六组见图12导航栏同样包含音频及两方面项目分别实现音频和频功能资源列表为服务器所上传的文件带有翻页刷新功能也可根用户需求设置每页列表所显示的音条目数点击按钮音文件即通过yr器新建一个窗口见图15图16能够实现音量调节快1213图14资源列图15窗图16音频窗五、团队分工合作情于:搭建硬件、软件环境,提供创新意见:查找资料,录入音文件,撰写报告。宁:javascript及html六、总从未曾接触Java到设计并实现预想的功能,经过一个多月的和努力,我们组受益匪浅。通过查阅资料和阅读相关书籍,探访各大电子,对应,我们了解了java的类、对象、继承、多态、封装、接口等基础编JavaScriptHtmlTomcatIIS了Spring框架,Jyer框架和基于JQuery的EasyUI框架的搭建、如何将Java与Mysql数据库连接起来以及基于http协议的、请求等处理方式。在项目设计及开发过程中,我们也遇到了很多,但后来通过小组的共是基于JMF的框架,由于该框架比较老,所支持的音文件不多,仅支持mov、wma等基本的音格式,用户的需求,通过探索,框架改成了Jyer,不仅使得器界面更为美观,也支持了几乎所有的主流音格式。在将java与数据库相连接时,我们本来使用的是JDBC连接,不仅编程繁琐而且容易出错,因此后来考虑使用MyBatis框架,使得数据持久化,Java是面向对象的高效通用的编程语言,本次项目音网络通信统的开发只是用到了其中的一部分,“路漫漫其修远兮,吾将上下而求索”,在今后的学习过程中我们仍将继续开发和探索其强大的功能。CREATEDATABASEuseCREATETABLE`audio``id`bigint(20NOTNULLAUTO_INCREMENTCOMMENT主键`name`varchar(50DEFAULTNULLCOMMENT文件名`uname`varchar(100DEFAULTNULLCOMMENT唯一文件名`path`varchar(200DEFAULTNULLCOMMENT文件路径`createtime`datetimeDEFAULTNULLCOMMENT创建时间`status`int(2DEFAULTNULLCOMMENT状态,1:正常,2:删除',PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCREATETABLE```id`bigint(20NOTNULLAUTO_INCREMENTCOMMENT主键`name`varchar(50DEFAULTNULLCOMMENT文件名`uname`varchar(100DEFAULTNULLCOMMENT唯一文件名`path`varchar(200DEFAULTNULLCOMMENT文件路径`createtime`datetimeDEFAULTNULLCOMMENT创建时间`status`int(2DEFAULTNULLCOMMENT状态,1:正常,2:删除',PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTpublicStringupLoad(HttpServletRequestrequest,HttpServletResponseStringresult="";StringUploadPath=request.getSession().getServletContext().getRealPath(Constant._UPLOAD_Filevfile=newFile(CommonsMultipartResolverresolver=newif(resolver.isMultipart(request)){MultipartHttpServletRequestmultiRequest=Map<String,MultipartFile>files=multiRequest.getFileMap();Set<String>fileKeys=files.keySet();for(Stringfkey:fileKeys){MultipartFilemfile=files.get(fkey);Stringonamemfile.getOriginalFilename();//获取原始文件名StringpinyinName="";//onameonameunicodepinyinName=pinyinName=}Stringnewname=//Spring提供的MultipartFile.transferTo(FileFilesaveFile=newFile(UploadPath,newname);audio=new();audio.setCreatetime(newDate());}}result="upload}catch(Exceptione){result="uploadfailed";}return}publicMap<String,String>delete(Stringids,Stringunames,HttpServletRequestrequest)throwsException{Map<String,String>map=newHashMap<String,String>();try{//Audioaudio=audioMapper.selectByPrimaryKey(id);StringaudioUploadPath=String[]files=unames.split(",");for(Stringuname:files){Filefile=newFile(audioUploadPath,uname);}}String[]fileIds=ids.split(",");for(Stringid:fileIds){},"}catch(Exceptione){map.put("mes"音频删除失败");}return}publicclassHttpRequestpublicstaticStringsendGet(Stringurl,Stringparam){Stringresult="";BufferedReaderin=null;try{StringurlNameString=url+"?"+param;URLrealUrl=newURL(urlNameString);URLConnectionconnection=connection.setRequestProperty("accept","*/*");connection.setRequestProperty("connection","Keep-Alive");Map<String,List<String>>map=for(Stringkey:map.keySet()){System.out.println(key+">"+map.get(key));}//定义BufferedReader输入流来URL的响in=newBufferedReader(newInputStreamReader(Stringwhile((line=in.readLine())!=null){result+=line;}}catch(Exceptione)System.out.println("GET请求出现异常!e);}使用finallyfinallytryif(in!=null)}}catch(Exceptione2){}}return}publicstaticStringsendPost(Stringurl,Stringparam){PrintWriterout=null;BufferedReaderin=null;Stringresult="";tryURLrealUrl=newURLConnectionconn=//设置通用的请求属性conn.setRequestProperty("accept","*/*");conn.setRequestProperty("connectionKeep-Alive");POST请求必须设置如下两行out=newflushin=newnewInputStreamReader(conn.getInputStream(),"utf-8"));Stringline;while((line=in.readLine())!=null){result+=line;}}catch(Exceptione)System.out.println("POST请求出现异常!"+e);}}}}catch(IOExceptionex){}}return}}publicstaticStringpost(Stringurl,Map<String,String>map){List<NameValuePair>nvps=newArrayList<NameValuePair>();for(Stringkey:map.keySet()){NameValuePairnvp= ameValuePair(key,}Stringhtml=null;HttpResponseresponse=null;HttpPosthttpPost=null;try{httpPost=newhttpPost.setEntity(newUrlEncodedFormEntity(nvps,HTTP.UTF_8));response=http.execute(httpPost);HttpEntityhttpEntity=if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK&&httpEntity!=null){html=EntityUtils.toString(httpEntity,"utf-8");thrownewException("httpPost)+"}}c

温馨提示

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

评论

0/150

提交评论