• / 29

网络对战平台的设计与实现.doc

资源描述:
《网络对战平台的设计与实现.doc》由本站会员分享,支持在线阅读,更多《网络对战平台的设计与实现珍藏版本.doc》相关的内容可在三九文库网上搜索。

本本科科生生毕毕业业论论文文网络对战平台的设计与实现网络对战平台的设计与实现院系:信息科学与技术学院计算机科学系专业:计算机科学与技术专业学生姓名:学号:指导教师:iiii摘摘要要网络对战平台是将各种具有某种共性的程序中的网络通信部分提取出来,编写一个独立的平台,使得各种符合平台接口的程序可以具备网络通信的能力。该平台只针对某些网络对战游戏,故称为网络对战平台。平台采用Client/Server结构,包括服务端和客户端。平台提供一种使程序进行网络通信的解决方法。本文通过现有的一些已经成熟的技术,包括CS结构,SOCKET网络编程,数据库编程,多线程编程等,并结合自己的一些想法,实现了一种网络对战平台。

使得符合接口规定的程序可以相互通信的能力。网络对战平台定义了一种软件重用的方法,提供了一种可扩展软件设计的方法,从而可以提高编程效率。编程者的注意力可以更多的集中在本地化编程上,而网络编程部分可以只进行少量接口编程即可。关键词:关键词:网络对战平台;接口;socket编程iiiiiiAbstractThegoalofNetworkGamePlatformistoextractavarietyofcommonproceduresandbuildasingleplatform,whitchmakestheprogrammesthatimplementstheinterfacecancomunicates。

Theplatformisonlyfornetworkgamecomunication,soitiscallNetworkGamePlatform.ThePlatformisbuiltuponClient/Serverstructure,includingserverandclient.Theplatformprovidesasolutiononprogrammecommunication.Inthispaper,weusesomematuretechnologies,suchasCSstructure,SOCKETnetworkprogramming,databaseprogramming,

multithreadedprogramming,combinedwithsomeofmyownideas,andmakesinterfacewiththeprocedurelaiddowninthecancommunicatewitheachotherCapacity.NetworkGamePlatformdefineasoftwarereuseapproachprovidesascalablesoftwaredesignmethods,whichcanimproveprogrammingefficiency.Programmingtheattentioncanfocusonthemorelocalizedprogramming。

networkprogrammingandsomecanonlybeasmallamountofprogramminginterface.Keywords:B;interface;socketprogrammingiviv目目录录摘摘要要IABSTRACTII第一章第一章前言前言11.1网络对战平台概述11.2相关技术概述11.2.11.2.1socketsocket编程概述编程概述11.2.21.2.2数据库编程概述数据库编程概述21.2.31.2.3Client/ServerClient/Server结构概述结构概述2第二章第二章对战平台定义对战平台定义42.1网络对战平台功能的定义42.

2网络对战平台接口的定义42.3网络对战平台命令的定义52.3.12.3.1平台命令的定义平台命令的定义52.3.22.3.2用户命令的定义用户命令的定义6第三章第三章对战平台服务器端定义对战平台服务器端定义73.1平台服务器端功能的定义73.2转发关系的定义83.3数据库定义8第四章第四章对战平台客户端定义对战平台客户端定义104.1平台客户端功能定义104.2平台客户端接口定义10第五章第五章对战平台具体设计对战平台具体设计115.1概述115.2平台服务器端具体设计115.2.15.2.1网络通信设计网络通信设计115.2.25.2.2多线程设计多线程设计125.2.35.2.3数据库设计数据库设计135。

3平台客户端具体设计145.3.15.3.1网络通信设计网络通信设计145.3.25.3.2客户端启动程序设计客户端启动程序设计15vv第六章第六章结论结论17致谢致谢17参考文献参考文献19附录附录201第一章前言1.1网络对战平台概述随着互联网的兴起,人们娱乐的手段开始多元化。网络使得人们放弃过去自娱自乐的游戏方式,而开始在网络上寻找志同道合,水平相当的网友进行共同娱乐。人们的这种需求加速了网络对战平台的兴起。如今中国市场有代表性的两种对战平台非浩方对战平台和QQ游戏莫属。浩方对战平台提供了一种可在局域网通信的游戏能在非局域网的网络上进行通信的解决方案。这在中国是开创性的,浩方得到了热爱游戏的玩家的大力支持。

成长迅速。创造了注册用户过亿,最高同时在线人数过百万的骄人记录。而另一种对战平台QQ游戏是腾讯旗下多人在线娱乐休闲平台。与浩方使用第三方开发的游戏不同,QQ游戏平台与平台上包含的游戏均为腾讯自主开发。QQ游戏同样获得了人们的认可,得到了各个年龄层人们的喜爱。它们的成功说明了人们对在线娱乐的渴望。但它们都是面向用户的,用户只需使用平台,接受他们提供的服务即可。而本文所记述的对战平台面向的人群更广泛些。它也面向用户,程序开发者可以将平台及与平台整合的自己开发的游戏程序一起打包给用户,以供其娱乐。同时更重要的是,平台提供了一种二次开发的能力并具备一定的可扩展性。平台提取了各种具备网络通信能力的游戏的网络通信部分。

减轻了游戏程序开发者负担并转换了其关注的焦点。同时,新的游戏可以很方便地整合进旧的平台中。1.2相关技术概述1.2.11.2.1socketsocket编程概述编程概述socket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。socket接口是TCP/IP网络的API,socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也具有一个类似于打开文件的函数调用socket(),该函数返回一个整型的socket描述符。

随后的连接建立、数据传输等操作都是通过该socket实现的。2常用的socket类型有两种:流式socket(SOCKSTREAM)和数据报式socket(SOCKDGRAM)。流式是一种面向连接的socket,针对于面向连接的TCP服务应用;数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用。socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用socket函数时,socket执行体将建立一个socket,实际上建立一个socket意味着为一个socket数据结构分配存储空间。socket执行体为你管理描述符表。两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。

socket数据结构中包含这五种信息。1.2.21.2.2数据库编程概述数据库编程概述数据库(database)是存储在计算机里的结构化数据的集合,通常由数据库管理系统(DBMS=DataBaseManagementSystem)软件(如Oracle、DB2、SQLServer等)对数据库进行管理,应用程序通过(标准)编程接口(如ODBC、JDBC、ADO等)来访问数据库。各个角色在数据库编程中的相互关系如图1。图1:数据库编程中各角色关系目前绝大多数数据库为关系数据库(relationaldatabase),对应的管理软件为关系型数据库管理系统(RDBMS=RelationalDBMS)。SQL(StructuredQueryLanguage结构化查询语言)为关系数据库的通用查询语言。

SQL包括查询(query)、操作(Manipulation)、定义(definition)和控制用户用户数据库应用程序数据库管理系统数据库管理系统标准编程接口数据库数据库3(control)四种功能。用户通过SQL来操作数据库。1.2.31.2.3Client/ServerClient/Server结构概述结构概述Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展。

Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如ORACLE、SYBASE、InfORMix或SQLServer。客户端需要安装专用的客户端软件。C/S结构的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。4第二章对战平台定义2.1网络对战平台功能的定义网络对战平台实现了使不具有网络通信能力的游戏程序在网络中可以进行通信的功能。

本平台主要实现了两个功能:一,集成在此平台中的游戏程序彼此通信的数据在网络中的正确传输;二,平台中的用户特别是处于同一个游戏中的用户的管理。处于网络环境中的游戏程序的通信是实现网络对战的基础,因此也是本平台关注的一个焦点。此功能使得游戏程序的网络通信部分的实现与其它功能的实现相互脱离开。游戏程序的实现者只需把关注点放在如何实现程序的特性,如何美化程序界面等功能上。而至于游戏程序如何在网络上相互通信,只需花费一点时间和精力,进行少量的接口编程,使得游戏程序符合平台的相关规定,即可实现。可以说这样可大大减少游戏程序开发者的时间,使得程序开发者可以将时间和精力放在游戏程序更应该被关注的部分。平台中的用户特别是处于同一个游戏中的用户的管理是平台关注的另一个焦点。

平台把处于网络中的不同游戏程序看作离散点。他们之间的相互联系通过本台实现,而这些联系的管理当然也由平台负责。为了保证平台中用户之间可以方便正确地通话及娱乐,这种管理必须确保安全和高效。本文采用Client/Server结构,来实现符合要求的管理。2.2网络对战平台接口的定义由于平台不仅可以运行一种游戏程序,也不仅可以运行一个人编写的游戏程序。如何让这些各种各样的游戏程序都可以方便地使用平台提供的功能,最方便的解决方法就是定义一套接口规范。只要游戏程序符合这一接口规范,就可以方便地整合进平台,拥有网络通信的能力。接口定义是重要的,本节将阐述一个最小且功能完备的接口定义,具体如下。1,游戏程序的动作可以语句化。

展开阅读全文
 温馨提示:
下载提示
关于本文
本文标题:网络对战平台的设计与实现.doc
链接地址:https://www.999doc.com/661410.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 联系我们

copyright © 2016-2021  999doc三九文库网 版权所有

经营许可证编号:苏ICP备2020069977号  网站客服QQ:772773258  联系电话:0518-83073133