文档详情

JAVA游戲开发课程设计报告.doc

发布:2016-12-03约1.37万字共21页下载文档
文本预览下载声明
Java课程设计 题目:多线程端口扫描 姓名: 王胜利 学号: 201012220228 班级: 10级专二 专业: 应用技术 目 录 1 设计任务与要求 4 2 系统功能描述 4 2.1 功能概述 4 2.2 本系统要实现的功能 4 3 系统总体设计 5 3.1 总体分析 5 3.2 界面设置构思图 5 3.3 界面使用设置构思 5 3.4 后台设计构思 6 4 系统详细设计 7 4.1 界面设计 7 4.2 界面设计图 7 4.3 后台设计 8 5 实现与测试 11 5.1 运行要求与环境 11 5.2 运行程序流程图 12 5.3 运行界面 13 6 设计总结 15 参考文献 16 附件 16 加深对《》课程所学知识的理解,进一步巩固 Java语言的语法规则。分析系统的可行性,让系统有一个明确的方向,使开发更具合理性,并能分析出系统的具体流程,为后面的开发做好铺垫。明确本次课程设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于Java的应用系统综合实例,来掌握Java语言编程技巧。并学会编制结构清晰、风格良好的Java语言程序,从而具备解决综合性实际问题的能力,学会使用Java编程工具,如EditPlus,Eclipse等。 多线程功能:当客户端要求与服务器端建立连接时,服务器端就将用到多线程功能,为每一个建立起来的连接创建一个线程。 图2 系统构思流程图 3.4 后台设计构思 后台系统使用Scanner和Scan类,创建前台布局和创建扫描端口、事件处理,并且能对简单的错误进行判断,显示错误原因。调用数据处理包,处理异常情况;调用皮肤包,美化显示窗口。 4 系统详细设计 4.1 界面设计 本程序界面图形设计要能清楚显示扫描后的结果,并且能很好的体现出界面的整洁大方,但并不失去吸引人眼球的画面,所以在做界面的时候考虑了界面的色彩,并且添加了皮肤,界面上面的字体设置和windows窗口设置一样采用宋体,界面上的按钮不设置过多的按钮,仅设置有必要的按钮即可,界面设置大方。使用的时候有默认的IP地址、需要扫描的端口和线程数,如果需要扫描其他主机,只需要填写好要扫描的主机的IP地址,需要扫描的端口范围和线程数,单击命令提示按钮就可以开始扫描,扫描结果就会显示在中间的扫描结果显示区域,在扫描状态显示区就会显示是否扫描完毕。 4.2 界面设计图 本程序采用小窗口形式,外围大小为170mm*90mm,字体采用宋体五号,结果显示区域框架大小为160mm*45mm,底色为粉红,结果显示字幕为主机地址加开放端口。添加个性皮肤。其余地方设置按钮和扫描的主机地址、端口和线程数。设计的预计页面图形如图: 图3 系统界面设计图 4.3 后台设计 本程序使用了为主要的Scanner类和Scan类。Scan类的作用是创建线程扫描端口,然后把结果显示到前台。Scanner类的作用是构造前台布局,调用Scan类添加事件处理,对输入进行错误判断,如果输入不在允许的范围之内则显示相关错误。 在本程序中用到了网络编程的两个类,下面介绍这两个类的常用方法。 InetSocketAddress类构造方法如下: InetSocketAddress(InetAddress addr, int port):根据 IP 地址和端口号创建套接字地址。 InetSocketAddress(int port):创建套接字地址,其中 IP 地址为通配符地址,端口号为指定值。 InetSocketAddress(String hostname, int port):根据主机名和端口号创建套接字地址。 Socket类常用方法如下: Socket():通过系统默认类型的 SocketImpl 创建未连接套接字 Socket(InetAddress address, int port):创建一个流套接字并将其连接到指定 IP 地址的指定端口号。 void bind(SocketAddress bindpoint):将套接字绑定到本地地址。 void close():关闭此套接字。 void connect(SocketAddress endpoint):将此套接字连接到服务器。 void connect(SocketAddress endpoint, int timeout):将此套接字连接到具有指定超时值的服务器。 boolean isClosed():返回套接字的关闭状态。 boolean isConnected():返回套接字的连接状态。 本程序还调用其他的一些类和包,比如软件包 java.awt.c
显示全部
相似文档