JAVA-网络通信系统的研究与开发毕业设计论文_第1页
JAVA-网络通信系统的研究与开发毕业设计论文_第2页
JAVA-网络通信系统的研究与开发毕业设计论文_第3页
JAVA-网络通信系统的研究与开发毕业设计论文_第4页
JAVA-网络通信系统的研究与开发毕业设计论文_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)说明书题目:JAVA网络通信系统的研究与开发

毕业设计(论文)中文摘要JAVA网络通信系统的研究与开发摘要:网络通信在当今信息社会中起着不可或缺的作用,人们可以利用网络通信技术进行即时的信息交流。例如,人们可以通过Internet搜索所要的信息,通过网上通信工具聊天,交流信息,上网购物等等。本课题是应用了计算机网络通信技术和JAVA网络编程的基础知识,以JAVA为平台,利用Eclipse开发工具,并使用SQLServer2000管理数据库数据开发出的基于Socket的网络即时通信系统。系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端、应用程序客户端,按照此设计思想,系统采用C/S结构,可以将任务合理分配到客户机端和服务器端,从而降低了系统的通信开销。此系统共分为两个模块:客户端模块和服务器端模块。从操作简便、界面美观、灵活实用的用户要求出发,设计开发的网络通信系统可以实现用户注册,用户登录,消息通信和好友管理等主要功能。本说明书主要介绍了本课题的研究意义以及开发背景、开发过程,和所完成的功能,并着重说明了开发设计的思想、技术难点和解决方案。关键词:网络通信JAVA平台C/SSocket

毕业设计(论文)外文摘要TheDesignandImplementationofAJava-BasedInternetCommunicationSystemAbstract:CommunicationonInternetisverypopularandcrucialinpeople’slive.Usingthenetworkcommunicationtechnology,wecanchatwithourfriendsatanytime.Forinstance,wecanchatorcommunicatewithfriendsandourcompanybysomechattingtools;weevencanbuyeverythingwewantonInternet.Thissystemisdesignedbasedoncomputernetworkingtechnologyandsomerelativeknowledge,usingJAVAandSQLSERVER2,000databasesystemastoolstodevelop.ThisimplementationisbasedonC/S(Client/Server)model.Themodelcanbedividedintothreelevels:Databaseslevel、Serverlevel、Clientlevel.Accordingtothisidea,wecandistributethetaskintotwoparts:theclientandtheserver.Thebenefitisthatthecostiscutdown.Fromtheneedsofeasyoperation,beautifulandvividinterfaceandpracticalapplication,wecandesignasystemwhichfunctionsisincludinguserregistering,userlogin,addingfriend,deletingfriend,chattingandsoon.Thispaperintroducesthebackgroundofthedevelopment,thefunctionsdemandedandtheprocessofdesign.What’smore,thepaperfocusesonthedesignprinciples、implementationdetails、thekeytechniquesandthesolutions.Keywords:Webapplication;Java;C/Smodel;Socket.目录1引言 为了接收从服务器返回的结果数据报文包,需要创建一个新的DatagramPacket对象,该对象利用了DatagramPacket类的另一种构造方式DatagramPacket(bytebufferedarray[],intlength)即只需指明存放接收数据报的缓冲区和长度,系统调用DatagramSocket对象的receive()函数来接收数据报,并将DatagramPacket对象作为该函数的参数。receive()方法会一直阻塞直到收到一个数据报文包。而该数据存放在DatagramPacket对象的缓冲区中。数据报文还包含了发送者的ip地址和端口号等信息。接收消息实现代码如下:voidgetmessage_mousePressed(MouseEvente){//接收消息Stringmessage=received.toString().trim();index=list.getSelectedIndex();//索引好友列表中的好友if(index==index4)getinfo.append(message);//接收到来自朋友的信息elsegetinfo.append("");//如果没人来信息,点击它则显示空的信息getdata.show();//打开接收消息的窗口}运行界面如下:5.3.4发送文件和接收文件模块为了保证发送文件和接收文件的安全性,需要利用TCP协议来完成。下面以用户A要传文件给用户B为例,简要介绍一下发送文件和接收文件的过程:首先,用户A发送数据报给用户B,数据包的内容是“readyreceive”,询问对方是否准备好接收文件用户B的run()函数监听用户A的信息,当监听到消息时,判断监听到的数据报内容是不是“readyreceive”,如果是,则用户B做出响应,并发送数据报给用户A,数据报的内容是“readysend”,即通知用户A,他已经准备好接收文件了,同时建立接收文件类GetFile的对象gf,同时调用gf.fileServer()方法打开接收文件的服务端,等待接收文件用户A的监听函数监听用户B的信息,在接收到数据报后,判断数据报内容是不是“readysend”,如果是,则用户A建立SendFile类的对象sf,利用sf.fileClient()方法建立客户端socket开始发送文件发送文件和接收文件的过程如图所示:文件传送文件传送用户A用户B发送数据报“readyreceive”询问对方是否准备好接收文件run()函数监听其他用户的信息监听到数据报建立接收文件服务器端在8888端口建立套接字ServerSocket监听到数据报“readysend”建立发送文件客户端socket,开始发送文件接收文件结束,关闭ServerSocket等待用户B接收文件,接收完后,关闭客户端socket发送“readysend”数据报,通知用户B他已经准备好接收文件5.4好友管理模块5.4.1查找好友好友查找利用FindFriend2类来实现的。FindFriend2类继承了JFrame类。FindFriend2中定义的界面控件包括:好友的昵称,性别,Jicq号码,IP地址,在线状态,头像,电子邮件,个人留言等信息。查找好友所需的网络变量定义如下:Socketsocket:连接SocketBufferedReaderin:读取缓冲区PrintWriterout:输入缓冲区Intmyid:用户的号码Stringserverhost:发送端的主机地址Intsetvport:服务器端的主机地址DatagramPacketsendPacket:存储发送信息的发送数据报DatagramSocketsendSocket:存储接收信息的接收数据报IntsendPort:发送的端口号5.4.2添加好友添加好友的基本步骤如下:用户A登录后,向服务器发送查找请求,服务器响应并读取数据库表icq,将结果返回给用户。用户在接收查询结果后选择用户B,向服务器发送添加好友请求,服务器收到请求后响应,更新数据库表friend,并从icq表中读取好友基本信息,将信息返回给用户A用户A的客户端的主窗口显示B,并通过UDP通知用户B用户B收到服务器的确认信息,可决定是否添加A为好友如果要添加的用户已经在你的好友列表中,则出现提示“对方已经是你的好友的”提示框界面运行如下:5.4.3查看资料从数据库中读取出来好友的数据之后,系统将其存放在friendnames数据结构中,查看功能可通过访问friendnames的成员变量来实现。查看资料运行界面如下:5.4.4删除好友用户可以删除好友列表中指定的好友,客户端确认用户操作后向服务器发送删除请求,服务器收到该请求,连接数据库表friend,并删除用户及该好友的纪录。若删除成功,则向客户端返回成功消息,通知用户。

6用户手册6.1系统的运行环境6.1.1硬件要求CPU速度在500MHz以上;内存在64MB以上6.1.2软件环境Windows2000/XP操作系统;SQLServer2000数据库系统;Eclipse开发工具(Eclipse3.0.1以上版本)JDK1.4.2-06以上6.2系统的功能简介由客户端程序界面可知,本网络通信系统包含以下主要功能:用户注册;用户登录;上下线通知;查找好友;查看好友资料;添加好友;直接添加好友;添加好友应答;删除好友;好友列表;更新好友列表;发送消息;接收消息;发送文件,接收文件,接收陌生人信息;6.3系统的运行和操作指南完成全部设计后,首先启动SQL数据库服务器。打开Eclipse,在Eclipse中运行服务器端程序server.java运行服务器端界面如图:然后运行客户端New.java运行如图所示:说明:因为本系统的测试在同一个机子,所以需要打开两个客户端。完成登录以后,用户之间就可以通信了。

7系统特色与不足7.1系统特色本系统是应用计算机网络通信技术和JAVA网络编程的基础知识,利用Eclipse开发工具开发而成的一个小型的基于JAVA的Web通信系统。系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端、应用程序客户端,按照此设计思想,系统采用C/S结构,可以将任务合理分配到客户机端和服务器端,从而降低了系统的通信开销。系统设计主要应用了TCP/IP协议,UDP协议和Socket套接字以及Java多线程机制编程技术。Eclipse安装包集成了Java开发环境的插件JDT,所以Eclipse默认是一个和JBuilder类似的Java开发工具,但Eclipse并不仅仅是Java开发工具,我们只需安装C/C++插件(简称CDT),它就可以作为C/C++开发工具来使用。只要有相应的插件就可以作为其他语言的开发工具。另外,Eclipse是开放源代码的软件,它可以使我们阅读到最顶级的Java源代码,学习最优秀的Java技术。7.2系统不足系统有些细节方面还有待于完善。比如注册新用户时要自动生成用户号码,在发送消息时,系统的各个运行界面应该更加美观等等。现在这种通讯工具已经不仅仅只是能上网聊天交流这样简单了,日后,聊天软件的发展趋势,更要集合网络电视电台,邮件的收发,新闻杂志的浏览,视频传输,音频聊天等等功能。所以本系统还需要增加很多的娱乐功能,比方说音频聊天,上网玩游戏,浏览网页等功能。系统对网络通信安全方面的设计不足。在速度性能方面,网络通信系统提出了更高的要求。在网络连接的薄弱环节I/O通信方面,要求能够实现无堵塞的,顺畅的数据读写。在面对几百个甚至更多的用户客户端同时发出连接信息的情况下,服务器要求能够保持高性能的并发处理机制,迅速的完成并发请求的处理和发送任务。本系统在这速度性能方面有待于改进。基于以上的不足,系统还有待于进一步的完善,还要多熟练JavaSwing图形设计,做出精美的画面,学习更多优秀的Java的网络编程技术,不断完善系统。7.3设计收获和心得在毕业设计短暂的几个月中,通过自己动手做设计,我基本熟练掌握了软件开发的整个过程,把我们四年学得知识都融会贯通在一起了,大大提高了我的理论联系实际的能力和动手能力。从一开始的需求分析,到总体设计,再到详细设计,直到最后的测试,这个过程需要绝对的细心和耐心和信心。为了争取系统做的比较完善,我们需要考虑到每一个可能出现异常的情况,在调试程序过程中,可能调试很长时间也出不来成果,心情烦躁是难免的,每当这时我就告诉自己不要着急,耐心点,再耐心点,我一定能找到错误,找到错误出处后再去不断的尝试各种可能的解决方案,直到出现令我们满意的成果。有时实在调试不出来了,我就会放一放这个问题,以待以后解决。在不断的深入设计过程中,有时就会突发灵感,一下子就解决了以前遗留的问题,虽然问题可能比较简单,但是这时我真的有一种小小的成就感!这大大增加了我的信心,使我不断的自我鼓励。通过本次毕业设计不仅使我对系统开发有了深入的了解,而且我的编程能力也有了较大的提高。我在设计过程中也遇到了很多自己无法解决的困难,但是通过指导老师和同学的帮助以及自己的努力,最终还是顺利地把困难一个一个解决掉,真正体验到了“人多力量大”的好处。我认为一个系统的设计,不可能一步到位,还需要不断完善和补充;同时,系统中还存在许多问题,有待在日后的应用实践中发现和解决。总之,通过这次毕业设计,不仅增强我的动手能力和理论联系实际的能力,还使我更加坚信:一定要按部就班,一步一个脚印,踏踏实实的去做事,养成勤学好问的好习惯,才会不断的进步!

结论网络通信在人们的日常生活中起着非常重要的作用,人们可以利用网络通信技术进行即时的信息交流。本课题就是应用了计算机网络通信技术和JAVA网络编程的基础知识,采用Eclipse开发工具,以JAVA为平台,并使用SQLServer2000管理数据库数据开发出的基于Socket的网络即时通信系统。系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器层、应用程序服务器端、应用程序客户端,按照此设计思想,系统采用C/S结构,可以将任务合理分配到客户机端和服务器端,从而降低了系统的通信开销。此系统共分为两个模块:客户端模块和服务器端模块。从操作简便、界面美观、灵活实用的用户要求出发,设计开发的网络通信系统可以实现用户注册,用户登录,消息通信,接收和发送文件,好友管理等主要功能。日后,聊天软件的发展趋势,不仅仅是以聊天为主要内容了,更要集合网络电视电台,邮件的收发,新闻杂志的浏览,个人形象展示,视频传输,音频聊天等等功能。网络通信系统将越来越娱乐化。

致谢在整个毕业设计过程中,我要特别感谢我的指导老师,感谢他对我的鼓励,指导。在设计过程中,当我遇到不能解决的技术问题,无论多忙万老师都会耐心的予以指导并提出比较好的建议或意见。他的指导和建议使我受益匪浅,他时刻的督促使我不敢有丝毫的怠慢,对此我深表感激。另外,我要感谢大学过程中所有教过我的老师,是他们给了我技术上的知识,让我用知识去武装自己,让我用知识去解决问题,解决困难,最重要的是,他们教会了我怎样独立学习,怎样去吸取新知识,不断充实自己。我还想感谢唐菊芳,徐敬,陈文博等同学,每当我遇到技术难题的时候,他们就与我一起讨论,最后帮我度过一个又一个难关,每当我因调不出程序,心烦意乱快失去耐性的时候,她们开导我,鼓励我,帮助我,特此谢谢她们。最后,我还要谢谢我的父母,亲友,在我成长过程中,给与我无私的关爱和帮助,感激之情无以表达,唯有今后更努力的学习,生活和工作,做一个好人,一个踏踏实实做事的人!

参考文献[1]ChadDarby,JohnGriffin.网络编程指南.北京:电子工业出版社

温馨提示

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

评论

0/150

提交评论