XX院局域网聊天软件局域网聊天软件课程设计.doc
《XX院局域网聊天软件局域网聊天软件课程设计.doc》由会员分享,可在线阅读,更多相关《XX院局域网聊天软件局域网聊天软件课程设计.doc(29页珍藏版)》请在沃文网上搜索。
1、目录1.设计的目的12设计的内容13概要设计33.1局域网聊天QQ的功能33.2局域网聊天QQ的能模块如下:34详细设计54.1编写服务器端程序54.1.1问题陈述54.1.2解决方案64.2客户端程序编写75总结86参考资料87.附录8摘 要随着互联网的发展,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多。本次实验将依照腾讯公司聊天工具QQ的设计,实现局域网网络通信的基本功能,以便在用户在不联网的情况下也可以进行通信。 本文所写的“贵师院局域网聊天软件”是为了解决师院为了解决广大师院同学们上网困难,网费透支,网速慢等困难。该软件主要包括:服务器响应,登录系统,注册,
2、好友界面,聊天界面等。在这次的课程设计中,我们应用了MyEclipse 6.0开发工具在WINDOWS平台上开发了一个基于WINDOWS平台的局域网通信工具,我们充分学习了JAVA Swing和awt界面开发技术,使自己在界面应用和界面布局方面得到更多的实践,应用Socket技术实现网络的连接功能,对网络的实现和通信方面有了进一步的理解,多线程方面的应用,使得客户端和服务端可以实现多任务功能。关键词:Java, MyEclipse, 通讯, 局域网,聊天 AbstractWith the development of the Internet, people rely on network m
3、ore and more, more and more inseparable from the network, the resulting chat tools, more and more. This experiment will be in accordance with the design of tencent chat tool QQ, realize the basic function of the LAN network communication, so that the users in the case of not connected to the Interne
4、t can also communicate. This article written by the your LAN chat software college is to solve in order to solve the general teachers college students surfing the Internet is difficult, net charge overdraft, network speed is slow and difficult. The software mainly includes: the server response, logi
5、n system, registration, friend interface, chat interface, etc. In the curriculum design, we applied the MyEclipse 6.0 development tools in WINDOWS platform based on WINDOWS platform to develop a local area network (LAN) communication tools, we fully learned JAVA Swing and awt interface development t
6、echnology, make oneself in the aspect of application interface and interface layout to get more practice, Socket technology is applied to implement the network connection, for the realization of the network and communications have a further understanding of multi-threaded applications, making the cl
7、ient and the server can implement multitasking capabilities. Keywords : Java, MyEclipse, communication, Local area network, chat 1 引言随着Internet的发展,Internet将提供越来越多的服务。就目前而言,网民使用较多的主要有以下服务:电子邮件(E-mail),文件传输(网络通讯),远程登录(Telnet),万维网(world wide web),新闻组和电子公告牌(BBS),聊天系统(Chat)等。Internet如此流行,其中网络通讯功不可没。成钱上网的
8、数据,软件分布在世界各地,有了网络通讯,足不出户,只要敲几个字,就能轻而易举地得到想要的。目前世界已有1000多个网络通讯文件服务器对所有的Internet用户开放,用户可以通过与Internet相连的计算机,把自己需要的文件传输过来。现在,许多互联网站点都建立了可供大众访问的资料库,这些资料都可以通过网络通讯获取。即时通讯的发展初期以其娱乐性引起了人们的广泛关注,但是现在在其快速增长的切用户表明这一技术已经开始融入现在商务活动中。为适应新的经济竞争环境,现在企业的沟通越来越快,对效率的要求也越来越高,特别是企业内部团队工作中的协调沟通必须即刻达成,否则将影响项目的整体推进,也难以迅速应对瞬息
9、变化的市场需求。目前,越来越多的国内外企业开始关注企业即时通信产品,他们看中的是其降低交流成本、提高沟通效率的优势。跨越物理空间距离、实现即时交流通信系统最吸引企业之处。据美国著名公司Garnter调查显示,在2008年以后,企业即时通信产品将以350%的速度飞速增长,可以说,企业即时通信具有广泛的发展前景。为了保障通信安全,建设内网、专网是一个解决这一问题的方法,凡是随着企业业务范围的不断扩大,网络规模也在扩大,采用该方案飞话,成本的代价必然非常高。由于公众信息网是对整个社会开放飞公众基础网络,具有覆盖性范围广、速度快、费用低、使用方便等特点,但同时也存在着安全性差的问题。用户通过公众信息网
10、传输的信息,在传输的过程中可能被窃取、篡改和伪造,信息的安全性和可靠性因此大大的降低了。习惯了通过类似于QQ,MSN之类的程序和天南地北的朋友聊天、发信息,不过所有聊天程序都需要Internet的支持,而无法在局域网内部大显身手,那么是否想到过要让单位内部的员工,寝室周围的同学,不用和上Internet就可以轻松体验到内网聊天的乐趣呢?有了这种想法,开发局域网聊天程序就有了必要性,让单位员工或者寝室同学不出内网就能自由聊天。随着网络技术的发展和国际互联网在全球的开通,计算机在教学领域中的应用得到了迅速地发展,多种类型的网校、教育网站、网络远程教育学院如雨后春笋般蓬勃兴起,使得网上教育成为当今教
11、育的热点。人们禁不住向往着一个全新的教育体制基于Internet/Intranet教育网的教育体制,在这种体制下,不受时间、空间和地域的限制,不受应用软件的限制,通过计算机网络可扩展至全社会的每一个角落,甚至是全世界,这是真正意义上的开放大学。在基于Internet的教育网络环境下,方便教师对学生作业的管理,同时可以最大限度地发挥学习者的主动性、积极性、探索精神,既可以进行个性化教学,又可以进行协作型教学。局域网QQ软件是一个即时通信工具。通过该网络程序的编制和实践,对自己所学习的知识进行了一次综合和提高,有更深层次的理解和掌握,在这个过程中,激发自己的学习潜力,提高软件开发的能力,加深对网络
12、协议和Windows环境下网络编程的理解和掌握。通过自己完成的需求分析,小组内经过讨论和商定,最终确定了我们小组开发的局域网QQ有以下几大功能:文字聊天主要功能。作为计算机网络的应用之一聊天工具,受到了用户的普遍爱好,它把人们带进了一个虚拟的网络世界,大大的加深了人们之间的联系。从单一的文本聊天,到语音聊天以及到现在的图像、视频聊天、及时短信的发送和在线游戏等功能的开发,已经大大的拓展了聊天工具的概念,它将会作为未来人们通过因特网相互联系和娱乐的主要平台。聊天工具的开发主要用到了网络通信技术、语音的采集、压缩、传输、解压缩以及回放等技术、文件传输技术、windows的多线程技术以及视频的采集、
13、压缩解压缩技术等。该聊天软件基于WINSOCK通信,在此基础上,实现点对点聊天、广播聊天、一对多聊天以及文件的传输。该聊天工具可以运行于任何支持tcp/ip,upd,ftp协议的机器上。由于系统采用C/S结构,客户端与客户端以及客户端与服务器端需要传送一些控制消息。面向对象程序设计课程设计报告2.设计的目的为了熟练掌握面向对象编程的技巧和计本知识,掌握面向对象编程的基本思路和方法,深刻感受编程的乐趣,以及解决广大师院同学上网困难,网费透支,网速慢等困难,本小组采用了java语言程序设计,编写了一个“贵师院局域网聊天软件”。局域网QQ软件是一个即时通信工具。通过该网络程序的编制和实践,对自己所学
14、习的知识进行了一次综合和提高,有更深层次的理解和掌握,在这个过程中,激发自己的学习潜力,提高软件开发的能力,加深对网络协议和Windows环境下网络编程的理解和掌握。网络聊天成为现代人们生活必不可缺的一部分,它增强了人与人之间的沟通,当下的腾讯QQ为我国的大众平台,本次实验将依照腾讯公司聊天工具QQ的设计,实现局域网网络通信的基本功能,以便在不联网的情况下用户也可以进行通信。局域网聊天程序的实现,主要为需要局域网内聊天的用户设计一个聊天平台;本系统的目的是为了让局域网内的计算机用户如寝室、办公室能随时随地通过网络进行交流。局域网聊天程序的设计目标为一个高性能的,易于使用的,面向局域网的即时信息
15、软件。3设计的内容局域网QQ软件是一个即时通信工具。主要有以下几个功能:(1)连接服务器;(2)用户注册;(3)用户登录;(4)多帐号登录;(5)用户聊天。本小组设计的聊天软件的开发主要是用MyEclipse开发工具,在WINDOWS平台上进行开发,我们充分学习了JAVA Swing和awt界面开发技术,应用Socket技术实现网络的连接功能。软件还涉及数据库的设计,用于存放注册用户信息。C/S结构是本软件系统的体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。在设计时,QQ用户登录框,我们要从两个方面去考虑:一是QQ帐
16、号,二是QQ密码。就拿QQ帐号这一个输入框,你怎么去考虑进行测试用例的设计?目前,一个QQ服务器就允许有10万以上个用户同时登录进行即时聊天,有多少个QQ帐号啊?现在一个人还不只一个QQ号呢。 如果有很多QQ帐号的话,怎么进行测试呢?如果只测试几个,覆盖率不足;全部都测试一遍,不可能有那么长时间,而且太多了也不好实施。所以,QQ帐号的测试就陷入了僵局?我们先分析一下QQ帐号:由6-10位自然数构成。一是位数长度有一定的限制,二是类型是固定的,由0-9自然 数构成。要想测试覆盖全面,又要节省时间,最好的办法是尽量简化测试用例的设计。通过对以上QQ帐号的分析,可以看到有效的帐号有它自己的特点:长度
17、与类 型要符合要求,这样只要在腾讯公司的服务器上申请了帐号,就可以进行即时通信了。那么,这样就有一个解决问题的方法了:进行类别的划分。我们知道软件的功能测试要进行两个方面的测试:通过测试和失败测试。要进行通过测试的话,帐号要符合规范,要进行失败测试的话,就要破坏帐号的规范。好,这样的话,QQ帐号的测试我们就可以进行了。把QQ帐号进行分类:有效的和无效的。有效的:(1)长度在6-10位之间(2)类型是0-9自然数无效的:(1)长度小于6(2)长度大于10(3)负数(4)小数(5)英文字母(6)字符 (7)特殊字符中文(1)编程语言中的转义字符(2)空 这样就可以看出来,有效的当中只要取1或几个就
18、可以通过测试了,在无效的当中取1或几个就可以进行失败测试了,所以这样的方法很简单、高效。4概要设计4.1局域网聊天QQ的功能检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。就将在线用户发给该用户,并将该用户的状态发给各在线用户。同时在服务器端显示出来。建立与服务器的连接并登陆,能显示登陆错误信息。用户登陆成功,将保存其号码,以便下次登陆时,不必再输入而可以直接选择,显示登陆时间。因为每个用户的QQ号码和密码都是不相同的,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。4.2局域网聊天QQ的功能模块如下:(1)服务器界面:如图2 图2 服务器界面 Fig2 The
19、server interface(2)登录界面:如图3 图3 登录界面Fig3 Login interface(3)注册界面:如图4 图4 注册界面 Fig4 Registration interface(4)找回密码界面:如图5 图5 找回密码界面 Fig5 Password retrieval interface(5)好友列表界面:如图6 图6 好友列表界面 Fig6 Buddy list interface(6)聊天界面设计:如图7 图7 聊天界面设计 Fig7 The chat interface design5详细设计 5.1编写服务器端程序5.1.1问题陈述(1)接受用户注册信息并
20、保存在数据库里面。(2)能够允许注册过的用户登录聊天界面并可以聊天。(3)能够接收私聊信息并发送给特定的用户。(4)服务器运行在自定义的端口9999上。5.1.2解决方案5.1.2.1数据库设计基于服务跨平台运行的构想,服务器数据库使用Mysql。数据库表:如图9图9数据库设计 Fig9 Database design 5.1.2.2用户注册(1)客户端请求注册:客户端通过Register.java请求注册,填写注册信息,并验证密码是否符合规定,是否两次入一致,如不一致会提示重新输入,最后将请求信息发送给服务器端。(2)服务器端响应:服务器端得到注册请求会将对象输入流转化为文件输出流,并反馈给
21、客户端。客户端得到注册信息后会在前台填写注册信息,然后创建文件输出流,再用对象输出流包装后写入本地文件将其持久化。最后关闭对象输出流和文件输入流。(3)给客户端返回信息:将用户注册成功或失败的信息用打印流包装Socket以后,输出给客户端注册结果的详细信息。5.1.2.3用户登录(1)去数据库读数据库数据(2)验证用户名是否存在5.1.2.4 接收用户聊天信息(1)接收用户聊天信息当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象。(2)过滤用户聊天内容的非法信息分析聊天信息对象的聊天内容,用语言过滤类将非法字符过滤掉。语言过滤的时候
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XX 局域网 聊天 软件 课程设计
