网络课程设计Word文档下载推荐.docx
- 文档编号:16807604
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:9
- 大小:394.37KB
网络课程设计Word文档下载推荐.docx
《网络课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《网络课程设计Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
设计时间:
2014年12月22日~2014年12月26日
目录
第1节概述-2-
1.1课程设计思想-2-
1.2课程设计的关键技术-2-
1.3课程设计工作进程-2-
第2节分析与设计-4-
2.1功能介绍-4-
2.1.1.总体功能-4-
2.2.2局部功能-4-
2.2软件的设计方案-5-
第3节编码与运行-6-
3.1算法设计分析模块设计与编码-6-
3.2测试与运行-8-
参考文献-12-
第1节概述
1.1课程设计思想
本程序通过使用套接字,输入输出流,对话框以及对GUI界面的设计,实现了一个猜数字游戏程序,首先将客户端与服务器端连接,连接成功的话就进入客户端的猜数界面,服务器端随机产生一个数。
用户随机输入一个数提交给服务器,由服务器来判断是否与产生的随机数相符合,如果符合,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小,给出相应的提示信息。
我负责的是游戏的分析与算法设计以及后期服务器与客户端的交互过程,在这次的课程设计中我扮演了很重要的角色。
1.2课程设计的关键技术
1.TCP:
是面向连接的传输控制协议,因而在Java的包中,为实现TCPSocket提供了两个基础类,分别是Socket类和ServerSocket类。
2.套接字:
在计算机网络中指TCP/IP的网络通信的基本操作单元,可以被看做是两个进程在通信连接中的一个端点,是连接应用程序与网络驱动程序的桥梁。
3.DataInputStream流和DataOutputStream流:
该流作用是建立一个与文件相关的输入/输出流,提供从文件中读取和写入一个字节和一组数据的方法。
4.GUI包含的类可以分为三类:
组件类.容器类和辅助类。
组件类是用来创建用户界面的,容器类是用来包含其他组件的,辅助类是用来支持GUI组件的。
1.3课程设计工作进程
本课程设计的工作安排如下:
2014年12月22日:
确定课题设计题目,并对课程设计的要求进行了分析。
2014年12月23日:
对游戏实现代码程序进行概要设计和详细设计。
2014年12月24日:
编写游戏的算法与分析,客户端与服务器交互程序对程序进行分析,编译调试,测试运行,联调。
2014年12月25日:
撰写课程实践报告书。
2014年12月26日:
提交课程设计相材料,进行课程设计答辩
第2节分析与设计
2.1功能介绍
2.1.1.总体功能
首先将客户端与服务器端连接,连接成功的话就进入客户端的猜数界面,服务器端程序随机产生整数。
用户随机输入数字这个数将提交给服务器,由服务器来判断当与产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,和提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案。
连接:
首先要进行服务器与客户端的连接,连接成功后进入猜数界面。
2.2.2局部功能
游戏界面:
采用图形界面显示。
页面有如下功能:
猜数和重来。
游戏开始后,由计算机产生一个1-100的随机数,不显示在图形界面,但显示在字符界面。
用户只需输入所猜想的数字,打印在输入框内,按“确定”按钮表示确定,游戏返回提示语句,按照提示语句操作,直至游戏结束。
同时,计算机开始对游戏进行计时。
游戏过程中,如果不想继续玩了,可以直接退出。
游戏结束后,可以选择“关闭”游戏,或者是“重新开始”。
2.2软件的设计方案
图2-1系统总体层次图
第3节编码与运行
3.1算法设计分析模块设计与编码
图3-1算法流程图
(1)服务器端生成一个1到100之间的随机整数
publicvoidcreateNum()
{date1=newDate();
this.number=(int)(Math.random()*100);
}
(2)服务器端对输入的数进行判断模块设计
publicvoidactionPerformed(ActionEvente)
{//按键"
猜数"
触发的事件
if(e.getSource()==jb1)
{try
{
intn=Integer.parseInt(jtf.getText());
if(n>
number)
JOptionPane.showConfirmDialog(null,"
偏大,你猜的数字是:
"
+n,getTitle(),JOptionPane.PLAIN_MESSAGE);
jtf.setText("
);
}
…………………………….
(3)计时模块设计
publicStringpingBi(intm)
{
Datedate2=newDate();
intm=Math.round((date2.getTime()-date1.getTime())/1000);
if(m<
=20)
{return("
你真是太聪明了,这么快就猜出来了"
…………………………
3.2测试与运行
3.2.1数据处理模块测试与运行
图3-2
运行时连接成功的消息框和猜数的GUI界面同时出来,应该是现出来连接成功的对话框在点击“确定“按钮后弹出再出猜数界面。
解决方法:
将显示GUI界面的那一句代码放到try语句里面的连接成功信息的后面。
如:
JOptionPane.showMessageDialog(null,"
客户端"
+cs.getInetAddress().getLocalHost()+"
已连接到服务器端!
欢迎进入猜数游戏!
newMyClient().setVisible(true);
//当是ture的时候才将GUI框架显示出来
运行后关闭猜数界面客户端会抛出异常,就是系统在对读入的数据进行处理的时候有异常。
解决方案:
while((fromServe=is.readUTF())!
=null)//通过is.readUTF()接受网络数据
{
System.out.println("
if(fromServe.equals("
))break;
System.out.print("
fromUser=stdIn.readLine();
//从本地键盘输入信息
os.writeUTF("
//实现网络端发送数据
os.flush();
//将存储在本地发送缓存的数据立刻向网络发送,保证消息的实时性。
}
图3-3
点击猜数之后没有弹出判断数据的对话框,就是提交的数据没有提交给服务器端得到处理.
解决方案:
{//按键"
if(e.getSource()==jb1)
{try{
intn=Integer.parseInt(jtf.getText());
………………………………
}}
图3-4
图3-5
图3-6
第4节课程设计总结
Java语言是一种计算机网络程序设计语言。
它由c/c++语言发展而来,具有面向对象的技术,半编译半解释的运行方式,不依赖与计算机操作系统和源代码开放等特点,很容易为广大开发者所接受。
通过这次试验的制作,使我掌握了许多更重要的知识点。
包括异常处理,图形界面设计,多线程,网络通信程序等.
通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用myeclipse软件。
同时更加深入的了解字符界面的编程过程。
使我更熟练的掌握Java程序框架的搭建和类的创建格式。
在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。
让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。
在本次试验中,给我印象最为深刻的是程序的编译过程中,从中我学到了许多以前学有学会和没有学到的函数。
比如控制台输入输出的概念和方法。
除此之外其它一些函数也得到了巩固。
以前总是模模糊糊的,现在心里十分清楚了。
平时的学习自身只注意到了书本上面的知识,对一些类及方法的运用显得只能,这次的学习让我从纸上谈兵逐渐的过渡到实践出真知。
老师先是要我们找可以运行的小游戏的代码,才可以做模板,就这样我找了许多次,最后终于找到了一个,程序就将是我成功的关键。
最后我的课程设计结束了,但是它留给我的印象是不可磨灭的。
以前感觉学的都用不到,现在才知以前学的用途真大,想学编程是少不了的。
以前感觉,编程是多么的神秘,现在通过自己实践,才知道,编程也没那么神秘,但却很有乐趣的。
那种看到自己亲手编的程序运行出结果的感觉是无法用言语表达的。
我要感谢和我一起合作的伙伴,还有班上同学的帮助以及给我耐心指导的老师,是他们的帮助才使得我们这次的课程设计的以顺利的完成。
参考文献
[1]朱辉,朱志国,李刚等.Java网络程序设计[M].西安:
西安电子科技大学出版社,2012.
[2]朱福喜.Java语言与面向对象程序设计.武汉:
武汉大学出版社,2002.
[3]BruceEckle.ThinkingInJava.机械工业出版社,2002.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 课程设计