Java聊天室课程设计报告
更新时间:2024-02-26 13:52:01 阅读量: 综合文库 文档下载
UML课程设计
题 目 网络聊天程序开发设计与实现
学 号:201515614376 姓 名: 卫国辉 指导教师:
完成时间:2017年 12月
0
目录
1.摘要............................................................................................................................. 2 2.绪论............................................................................................................................. 0 2.开发环境..................................................................................................................... 0 3.需求分析 .................................................................................................................... 1
3.1程序简介 ........................................................................................................... 1 3.2程序功能 ........................................................................................................... 1 4.系统设计..................................................................................................................... 2
4.1概要设计 ........................................................................................................... 2 4.2详细设计 ............................................................................................................ 2 5.测试............................................................................................................................. 7 6.结论............................................................................................................................. 9 参考文献...................................................................................................................... 10
1
摘要
本次训练主要是考查了对JAVA程序设计的综合运用,设计一个Socket通信的聊天程序,用户可以通过程序进行聊天通信,但不支持用户自定义表情及图片的发送。
本程序设计也用到了一些相关的标准Java的类,给程序设计带来了许多的方便,但用那些要切记加相应的类的包,还有一些构造方法和个别接口方法。
本程序可以实现用户之间的一些简单的交互,虽然功能较少,但是我想通过这次程序设计来熟悉并且学习更多关于JAVA编程的东西,来便于以后可以使用。
关键词:java聊天
2
1.绪论
对于一个选择网络编程的人来说,必须要有足够的细心和耐心,因为编程一般来说是很枯燥的乏味的,而且程序会越来越复杂,它所用到的符号、标记很多,所以不能出点小错误的。还有,我们不能只是看程序,要学会把自己学的自己拿去实践,自己去编一些程序,培养自己的动手能力,掌握一些编程技巧,熟练运用自己学到的理论知识,这样在以后才能开发出属于自己的东西。
如今,随着科学技术的发展,计算机已成为了我们生活中必不可少的设备了,而掌握计算机知识和运用,又成了我们每一个人的目标了。现在IT行业的飞速发展,无不应正了以前、现在、将来计算机行业都是科学发展的主导行业。而这些基本上都建立在程序上的,所以程序员对计算机行业来说,可想而知有多么的重要了,他们所付出的每一滴汗水都将推动这个行业的发展。
现在我就用JAVA语言编写一个简单的程序——Java聊天程序。将所学的基本知识用到其中去,这里包括了构造方法,创建图形界面,引用类等等。这不仅能锻炼我的实践能力,同时也进一步复习和巩固了我所学的理论知识。对以前没有学好的还有督促和促进作用。而且,根据需要,还可以了解一些课外的知识。增加自己的知识面。
2.开发环境
在开发此聊天程序时,该项目所使用的软件开发环境如下:
操作系统:Windows 7
开发工具:eclipse3.2及其VE插件
0
Eclipse简介
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本
身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语 言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持 使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中, 其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多 大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
3.需求分析
3.1程序简介
随着网络技术的发展,人们越来越多的依赖于网络,为了方便人们的生活,网络聊天自然成为了热点,各种工具到处都是。此程序便是模仿其他聊天工具设计的,当然只是实现了比较少的功能,可以进行基本的聊天。
3.2 程序功能
该程序功能:该程序分为2个部分,一个是客户端程序,一个是服务端程序,
1
法:
* 发送消息 *
* @param message */
public void sendMessage(String message) { writer.println(message); writer.flush(); } /**
* 客户端主动关闭连接 */
@SuppressWarnings(\
public synchronized boolean closeConnection() { try {
sendMessage(\发送断开连接命令给服务器 messageThread.stop();// 停止接受消息线程 // 释放资源 if (reader != null) { reader.close(); }
if (writer != null) { writer.close(); }
if (socket != null) { socket.close(); }
isConnected = false; return true;
} catch (IOException e1) {
7
e1.printStackTrace(); isConnected = true; return false; } }
其运行截图如下图所示:
8
5.测试
程序在编码过程中,出现了许多的问题,有的是因为程序的完善性不够
好而造成的,有的是因为技术不够而无法解决。通过不停的调试,修改,多数已发现的问题都已完善,但依然存在少数的问题无法解决。例如,在用户注册这个功能中,当用户的用户名重复时,服务器会出现用户名重复的异常,服务器就不会响应。
6.结论
通过这次程序的实训,我知道了自己在许多地方的不足,虽然书上的程序基本能看懂,但是自己的编程实践能力实在是欠缺,而且我知道了,Java语言最重要的不仅仅是学好语法,而Java中最重要的还是要理解它的面向对象编程的思想,理解它的面向对象的特征。因为学习任何一门语言最重要的就是理解它的思想,要做到知其然,并且知其所以然。要学会真正的编写程序,而不仅仅是把语法背的滚瓜烂熟。还要经常写代码,做到一边写一边理解,这样才能真正的实现学习Java语言的目的。
9
这次实训也告诉了我,光有书上的知识对我们来说是远远不够的,如果我们要想让自己在编程上有所突破的话,我们必须拓展自己的知识面,此次程序设计就给我增加了不少的知识,让我在编程方面学到了许多编程所需要的东西,还有也锻炼我的耐性,磨砺了我的意志,在错误面前反复修改但是从不气馁。
所以,这次实训让我受益匪浅,不管是在知识方面还是做事方面,都交会了我许多。同时还巩固了以前所学的知识,学到了不少书本上没有的知识;学到了很多java编程知识,并学会了简单的使用Eclipse来开发Java程序的一些使用技巧这次课程设计是对我本学期所学的知识的检验,由此我发现了不少的问题。可以说它给了我一次自我评估的机会。通过设计让我知道了那些方面我还是有欠缺的,促使我花时间弥补。
临近考试,时间太紧迫,致使程序实现的功能在方法上也许不是很完美,但我以后会多向老师请教,自己也要加强对Java 的学习。努力进一步提高自己的编程水平。
参考文献
[1]耿祥义.Java课程设计:清华大学出版社第二版,2008年11月. [2]马皓.Java语言程序设计:机械工业出版社,2007年3月 [3]孙卫琴.java 面向对象编程.电子工业出版社.2007 [4]刘海军. Java程序设计. 中国铁道出版社,2006
[5]郑阿奇,姜乃松,殷红先. Java实用教程. 电子工业出版社,2005
[6]张广彬、王小宁、高静, Java课程设计案例精编(第二版)清华大学出版社,2011年
10
正在阅读:
Java聊天室课程设计报告02-26
国家实施QS食品生产许可证目录07-24
自我介绍最新10篇03-26
2012六年级圆柱圆锥体积应用题大全05-08
法国与德国(修改)09-29
范曾书画作品欣赏05-17
现代交换原理期末考知识点10-27
论咸阳旅游资源优势及开发对策07-29
2016苏教版二年级数学下册期末试卷03-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 聊天室
- 课程
- 报告
- 设计
- Java
- 中医里讲的中气虚
- 20XX年10月高中军训心得体会600字
- 社区服刑人员监督管理办法
- 在全县招商引资暨大项目建设突破年活动动员大会上的讲话
- 健康评估外科护理试卷及答案
- 《学前儿童发展心理学》教案9 - 图文
- 元素周期表第一课时导学案
- 七年级科学下册 第四章 地球和宇宙 第1-3节测试卷(新版)浙教版
- PowerDesigner的基本操作 - 图文
- 高中英语书面表达训练策略-精选教育文档
- 2009年江苏行测B类真题及解析 - 图文
- 英语话剧表演剧本
- 关于鼓励干部职工及直系亲属在职提升学历层次的通知
- 解决实际问题(租船问题)导学案
- 2019年最新小学上学期工作总结
- 野猪林
- Goldwave音频处理软件入门手册 - 图文
- 揭秘中苏在外蒙古独立背后的血色博弈
- 南京长江大桥简介 - 图文
- 沪教新版九年级下学期 中考题同步试卷:27.6 正多边形与圆(01)