基于J2SE的CS架构的多人网络游戏对战平台的设计与实现.doc
《基于J2SE的CS架构的多人网络游戏对战平台的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于J2SE的CS架构的多人网络游戏对战平台的设计与实现.doc(35页珍藏版)》请在沃文网上搜索。
1、河南大学本科毕业生学士学位论文目 录摘 要4ABSTRACT5第1章 绪 论11.1 课题来源11.2 课题背景11.3 国内外研究现状及分析11.4 开发环境一览21.4.1 Java概述21.4.2 MyEclipse 8.0简介31.4.3 MYSQL5.0简介31.4.4 Hibernate3.0简介3第2章 需求分析32.1 可行性分析32.2 系统总体功能模块42.3 系统业务流程52.3.1 客户端业务流程图62.3.2 服务器业务流程图72.4 数据操作流程图8第3章 概要设计93.1 系统运行总体流程93.2 数据库设计103.2.1 数据库逻辑设计113.2.2 数据库结构
2、设计113.2.3 关于用户头像的处理说明113.3 通信协议及端口设计123.3.1 通信协议的定义133.3.2 通信协议的三要素和特点133.3.3 通信协议端口133.3.4 TCP与UDP在网络通信中的区别133.3.5 通信协议及端口设计14第4章 详细设计与系统实现164.1 服务器模块设计164.1.1 登录164.1.2 服务器管理平台及网络通信174.1.3 服务器配置及邮件发送184.1.4 游戏币充值及在线用户管理194.1.5 聊天及聊天记录操作214.1.6 游戏地图管理214.1.7 公告管理与密码修改234.1.7 数据库操作244.2 客户端模块设计244.2
3、.1 登录相关244.2.2 客户端操作中心及网络通信264.2.3 游戏对战场景及聊天系统284.2.4 多矩形碰撞检测与实现29结 论30参考文献31摘 要基于J2SE的C/S架构的多人网络游戏对战平台是通过对多种网络游戏平台的分析研究,依托Java语言,借助MYSQL数据库和MyEclipse开发工具设计出的一个功能丰富的网络游戏对战平台。通过该系统客户端可以实现用户注册、登陆、在线聊天、游戏对战、道具商城、文件读写以及网络通信等功能;服务器端能实现登陆、用户管理、地图文件管理、用户充值、文件读写、在线聊天及网络通信等功能。本系统主要涉及Java程序画面的组织与实现、网络通信协议的规划、
4、数据库操作方法、文件读写、远程对象访问、邮件发送、基于TCP/IP的Socket安全网络通信、基于UDP的数据报的收发、广播消息应用技术、事件驱动等技术。通过各个模块之间的配合最终达到服务器提供各种服务,客户端连接到服务器使用各项服务的效果。关键词 游戏;Java;网络通信;对战平台;文件读写 第I页ABSTRACT The multiplayer Online game war platform based on J2SE C / S structure is through the analysis of research on a variety of online games plat
5、form, relying on the Java language, with a MYSQL database and MyEclipse development tools to design a feature-rich online games war platform. The system client can implement user registration, login, online chat, game battle, props Mall, document literacy, and network communication function; server-
6、side login, user management, map file management, user recharge, file read and write. online chat and network communications functions. This system is mainly involved in the organization and implementation of the Java program screen, the planning of the network communication protocols, database oper
7、ations, file read and write, remote object access, mail, secure network based on TCP / IP Socket communication, based on UDP datagrams to send and receive application technology of broadcast news, events, drivers, etc. technology. Eventually reach the server through the co-ordination between the var
8、ious modules provide various services to the client to connect to the server to use various services.Keywords: Game; Java; Network Communication War Platform; File Reading and Writing第II页 第 31 页 河南大学本科毕业生学士学位论文 第1章 绪 论人类进入21世纪,全球一体化,互联网就起到了重要的作用,而且随着互联网的不断发展,信息技术逐渐发展壮大,其中计算机网络通信的发展尤为迅速。在现今电子信息高速发展的时
9、代,网络游戏在当今互联网的发展过程中占据越来越重要的地位,一个开放的互联网游戏平台可以带给用户非凡的娱乐体验。本文通过对网络游戏及游戏大厅结构的分析,使用当前热门的程序开发语言Java,详细阐明了一个开放的游戏对战平台的设计过程。1.1 课题来源自命题。1.2 课题背景人类进入21世纪,全球一体化,互联网就起到了重要的作用,而且随着互联网的不断发展,信息技术逐渐发展壮大,其中计算机网络通信的发展尤为迅速。在现今电子信息高速发展的时代,网络游戏在当今互联网的发展过程中占据越来越重要的地位,一个开放的互联网游戏平台可以带给用户非凡的娱乐体验。本文通过对网络游戏及游戏大厅结构的分析,使用当前热门的程
10、序开发语言Java,实现了一个开放的游戏对战平台。1.3 国内外研究现状及分析 从1980年第一款坦克大战游戏Battle City诞生至今已有29年的历史,也发展出了很多的版本,从最初的红白游戏机到现在的网络游戏,从最开始的只支持双人游戏到现在的多人网络对战,从当初的平面2D到现在的立体3D游戏,这款游戏不断趋于网络化、立体化和多样化。网络化使得市场让游戏变成人与人的交战,而不再是人与电脑的对战,这样无疑增加了游戏的难度,游戏的时间和游戏的寿命。立体化是为了适应现在越来越3D的趋势,游戏有必要做的更加的完美,趋向3D并且加重环境的描写。多样性则是为了增加游戏的趣味性以及游戏的耐玩性。综合以上
11、因素,坦克大战无疑是一款经典之作。Java语言是当今最为流行的程序设计语言之一,作为一门非常优秀和健壮的编程语言,它同时具有面向对象、与平台无关、分布式应用、安全、稳定和多线程等优良的特征。通过Java语言不仅可以开发出功能强大的大型应用程序,而且Java语言本身突出的跨平台的特性也使它特别适合于Internet上的应用开发,可以说Java的出现使得所开发的应用程序“一次编写,处处运行”的愿望变成了可能。本课题就是通过对网络游戏平台的分析研究,依托Java语言,模拟开发出一个类似的、功能齐全的网络游戏平台,从而体会到Java在应用开发过程中的高效能。1.4 开发环境一览操作系统:Microso
12、ft Windows 7程序语言:J2SE开发工具:MyEclipse 8.0 数 据 库:MYSQL 5.0 其 他: Hibernate3.0(ORM模型) JDK1.6(Java开发工具包) ORM模型 Object Relational Mapping 简称对象联系模型1.4.1 Java概述它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak
13、,以“Java”的名称正式发布。 Java 编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java 不同于一般的编译执行计算机语
14、言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软
15、公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 1.4.2 MyEclipse 8.0简介MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J
16、avaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。1.4.3 MYSQL5.0简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的
17、SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1.4.4 Hibernate3.0简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义
18、的是,Hibernate可以在应用EJB的J2EE架构中取代CMP(Container-Managed Persistence),完成数据持久化的重任。第2章 需求分析2.1 可行性分析可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益。信息系统营运可行性研究要给出的方案是否可以从人力、物力、组
19、织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行。由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决。本课题所开发的系统采用了C/S结构和Internet网络技术,鉴于Java在网络应用开发以及用户界面设计上的优点,该系统在技术上完全可以实现预期的各种业务逻辑,因此该系统的开发实现完全是
20、可行的。2.2 系统总体功能模块 总体功能描述:总体模块图从全局的角度描述了整个系统要实现的功能,是系统的最终实现目标,也为开发人员指明了系统开发的方向。但这些功能尚处于“黑盒”阶段,并未给出具体的实现方法,需要开发人员根据需求编写出符合目标的代码。图 2-1 系统总体功能模块图2.3 系统业务流程 业务流程描述:用业务流程图描述现系统各项业务处理过程,并结合业务流程图 详细准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。现行系统的业务流程图是分析和描述现行系统业务的重要工具之一。其主要作用是:描述现行系统的业务情况以便于与开发人员交流,它是系统设计
21、的前提和保证。2.3.1 客户端业务流程图图 2-2 客户端业务流程2.3.2 服务器业务流程图 图 2-3 服务器业务流程2.4 数据操作流程图 图 2-4 数据操作流程第3章 概要设计 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素-程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2SE CS 架构 网络游戏 平台 设计 实现