版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、淮海 工学院 计算机工程学院课程设计报告设计名称:计算机面向对象设计姓名:学号:专业班级:D软件092系(院):计算机工程学院设计时间:2011613 2011624设计地点:东港机房D2-308成绩:指导教师评语:签名:1. 课程设计目的一、设计目的:Java课程设计是对所学面向对象课程的小结, 是提高学生对所学知识综合应用能力的一种方式, 是 集中实践性环节之一。要求同学们对理论课中所学习到的知识综合运用,实现有一定规模的Java应用。二、设计要求:1、 课程设计以小组为单位进行,每小组的人数在3人左右,每个小组中的每位同学要有在课程设计中的明确分工,以便检查。课程设计材料提交的以小组为单
2、位,每人提交一份纸质课程设计报告, 每组提交一份课程设计的源代码电子版,报告代码的电子版压缩后以班级-组别-设计名称命名,提交到指导老师处。2、学生必须独立完成设计任务,严禁抄袭,一经发现,成绩以不及格计。3、课程设计期间要严格遵守学校纪律,按时上机,服务机房管理人员管理,不得无故旷课、迟到 与早退,课程设计期间缺勤1/3以上者,成绩以不及格记。三、成绩评定:通过设计答辩等方式,结合学生的动手能力、独立分析解决问题的能力和创新精神, 由指导教师根 据考勤、设计说明书质量、答辩表现以及学习态度等综合评定设计成绩。成绩分优、良、中、及格和不及格五个级别。2. 课程设计任务与要求:选题:局域网聊天程
3、序的设计与实现该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。客户端程序:可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息。课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率, 尽可能熟练掌握其中 一种集成开发环境。通过这次设计,要求掌握以下内容:1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用2)类、包、接口的定义与使用3)些常用工具类与算法的实现4)Java的异常处理机制3. 课程设计说明书、需求分析该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分 功能分析:客户端程序:可连接到服
4、务器,并将消息发送到服务器端和接受服务器端发送来的信息 服务器端程序:可将消息发送到客户端和接受客户端发送来的信息二、概要设计本程序根据功能设置了两个界面:服务器端和客户端的聊天界面这儿主要介绍客户端。模块描述局域网聊天程序的设计与实现主要包括服务端和客户端,服务端与客户端之间通过套接口Socket(TCP)连接。其中默认IP地址为:127.0.0.1连接设置:用户可以设置自己的服务器的 IP地址,默认的连接地址为:127.0.0.1;用户登录:只能在聊天室服务端已开启的情况下,用户才能登录,用户登录之后才能开始聊天,登录后不能再修改用户设置和连接设置;发送和接收聊天信息:客户端可以给服务器端
5、发送信息,并能收到服务器端发送过来的消息; 退出:关闭所有聊天并退出客户端。客户端类图:三、详细设计1. 客户端主要包括以下文件,它们的功能如下:(1)ChatClient.java:包含名为ChatClient的public类,其主要功能为定义客户端的界面,添加事件侦听与事件处理。该类定义了Conn ectServer(与processCo nn ectio n(方法实现与服务器的连接与断开连接。当登录到指定的服务器时,调用Clie ntReceive类实现消息收发,同时该类还定义了 SendMsg()方法来向服务器端发送消息。(2)ClientReceive.java该类是实现服务器端与客
6、户端消息收发的类。2. 客户端的程序创建了一个Socket对象,用来与服务器端建立连接通信。inputstream用来从 Socket 的 inputstream 输入流读取文本行,outputstream 向 Socket 的 outputstream 输出文本行。 客户端从标准输入中读取数据并输出,当读到信息“服务器端:终止”的时候关闭输入输出流3.ln和out是客户端和服务器端通信的关键。把发送功能写在了发送按钮的事件响应代码中;由于接收是要保持监听状态的,所以把接收功能写在了一个进程中。快捷键即键盘监听功能写在输入文本框中以实现输入完信息后按enter就能等于发送按钮。四、用户手册服务
7、器端:打开服务器端界面,在文件夹中是 ChatServer.java,通过运行文件会有显示服务器已经启动 接下来就等待客户端连接反应了,只要有用户请求连接,则会有显示新用户接入,客户端的聊天记 录也会在服务器端显示:某某:.。最后关闭窗口,即可断开服务器、。客户端:通过运行文件ChatClient.java,进入客户端窗口后就可以开始与服务器端相互聊天了。注:图形界面的Application程序,用以实现常见的聊天功能,仅考虑一对一的聊天.用TextPad作为系统开发环境。五、测试成果1.当先运行ChatClient程序时出现显示连接的界面如图一所示(没有开启服务器端)图一冬'3.关闭
8、1中的客户端界面,重新运行得到客户端连接到:127.0.0.1 (应该先运行服务器端),如图 三所示:图三连接札iiH: 127.0.0.1Get I/O streams齡器端浊接成功 客户端哪|图四5.客户端发送消息,服务器端接收到信息如图五所示:F1兰 1 Server口 | 回你好|等待连接Con nectionlfrom 127.0.0 1Get I/O streams客户端"嗨 服努器端"你好图六7.图七所示为客户端接收到服务器所发送的信息:團 CUent. 口 回,嗨産接中连屛:127.0.0.1Get I/O streams服努器端=港接成功 客户端'
9、瘾| 服劳器端“你好L图七六附录(源程序清单)计算机面向对象课程设计报告第9页,共12页我负责部分的主要代码:连接服务器private void Conn ectServer() throws lOExcepti onoutFrame.setText(连接中n”);toclie nt = new Socket( In etAddress.getByName(chatServer),4000);连接信息显示outFrame.appe nd(连接至:"+toclie nt.getl netAddress().getHostName();private void processC onn
10、ecti on() throws IOExcepti on/输出框in putBox.setE nabled( true );do /读入信息并输出trymessage = ( Stri ng ) in putS.readObject();outFrame.appe nd( "n" + message );outFrame.setCaretPositi on( outFrame.getText().le ngth();catch ( ClassNotFo un dExcepti on classNotFo un dExceptio n ) outFrame.appe nd(
11、 "nUnknown object type received");while ( !message.equals(服务器端 >> TERMINATE");关闭输入输出流,关闭连接,注意顺序private void closeConnection() throws IOExceptionoutFrame.appe nd( "n User termi nated conn ecti on ”); outputStream.close();in putStream.close();toclie nt.close();/给服务器端发消息privat
12、e void sendMsg( String message )tryoutputS.writeObject(” 客户端 >> ” + message );outputS.flush();outFrame.append( "n客户端 >>"+ message );catch ( lOExcepti on ioExcepti on )outFrame.append( "nError writing object");mai n()方法public static void mai n( Stri ng args)ChatClie nt
13、 begi nning;if ( argsen gth = 0 )beginning = new ChatClient( "127.0.0.1");elsebegi nning = new ChatClie nt( args 0 );begi nnin g.setDefaultCloseOperati on(JFrame.EXIT_ON_CLOSE );begi nnin g.c onn ectClie nt();4. 课程设计心得经过这次java课程设计的亲自实践,我对自己的不足有了进一步的发现,在设计的过程中不 时的会发现不会的知识点,在查找书籍的过程中也是对自己知识的
14、巩固, 能帮助自己回忆起老师讲 过的内容,在加深印象的基础上更好的通过实践理解。我负责的客户端程序中只是简单的实行发送接收服务器端的信息。在设计程序之前先要考虑的是这个程序想要实现什么功能,根据要求先画出类图,理清思路,不要一开始就想着去编写源代码, 因为在编写的过程中也许就会发现自己还有些遗漏点。 在画好类图后再根据类图编辑源代码。 在编 写过程中,最重要的是细心,并不是一定要做到面面俱到,但也要考虑到作业的需求和现实意义, 只有运用到实际应用中,才具有现实意义。所以在准备工作中要正确分析社会需求了解现实应用, 画出流程图,把大体框架做好,然后再逐一细化。我们一定要做到步步扎实,要保持清醒的头脑, 让自己的每一行代码都能实现自己的意义 。虽然要求的系统功能能实现,但还是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保工程师面试题及答案公开课
- 采购管理岗面试题集及参考答案
- 软件测试工程师招聘考试题目集
- 2025年AI客服系统建设可行性研究报告
- 2025年碳中和产业园区建设项目可行性研究报告
- 2025年污水处理与再利用项目可行性研究报告
- 2025年自主品牌家电产品创新项目可行性研究报告
- 2025年文化艺术展馆建设项目可行性研究报告
- 2026年西安工商学院单招职业适应性测试题库含答案详解
- 2026年安庆职业技术学院单招综合素质考试题库及完整答案详解1套
- 2025 小学二年级数学上册解决问题审题方法课件
- 老年患者术后加速康复外科(ERAS)实施方案
- 2024-2025学年广州市越秀区八年级上学期期末历史试卷(含答案)
- 2025年餐饮与管理考试题及答案
- 2025事业单位考试公共基础知识测试题及答案
- M蛋白血症的护理
- 孔隙率测定方法
- 2025 初中中国历史一二九运动的爆发课件
- 上消化道出血疾病宣教
- 2025年国家开放大学《数据分析与统计》期末考试备考题库及答案解析
- 《算法设计与分析》期末考试试卷及答案
评论
0/150
提交评论