第一范文网 - 专业文章范例文档资料分享平台

网络游戏技术开发(最终版)

来源:用户分享 时间:2025/5/24 8:13:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

网络游戏应用平台的体系结构

第4章 网络游戏应用平台的体系结构

网络游戏的应用平台体系结构包括C/S模式,B/S模式,以及现在流行的三层或多层架构模式。下面就分别一一介绍。

4.1 C/S模式

正如前面所讲,C/S结构是最经典也是最常用的一种结构,这种方式隐含了在建立客户机/服务器间通讯时的非对称性。客户机/服务器模型工作时要求有一套为客户机和服务器所共识的惯例来保证服务能够被提供(或被接受)。这一套惯例包含了一套协议。它必须在通讯的两头都被实现。根据不同的实际情况,协议可能是对称的或是非对称的。在对称的协议中,每一方都有可能扮演主从角色;在非对称协议中,一方被不可改变地认为是主机,而另一方则是从机。一个对称协议的例子是Internet中用于终端仿真的TELNET。而非对称协议的例子是Internet中的FTP。无论具体的协议是对称的或是非对称的,当服务被提供时必然存在“客户进程”和“服务进程”。

那么,这种结构的工作机制或者说它提供的最基本的服务是什么呢?我们就来了解一下TCP的工作机制。在C/S架构中,客户端和服务器之间的网络层通信协议是IP,传输层通信协议是TCP和UDP,TCP是面向连接的,在基于不可靠的IP服务基础上,提供可靠的传输层服务,保证数据一定传送到接收者;而U DP提供的是不可靠的无连接数据报传输服务,因而可能出现UDP报文丢失、重复、乱序的错误。在大部分C/S架构中,一定要保证数据的可靠传输,因此一般都采用TCP作为传输层协议。TCP在通信会话中提供几个重要作用。可以认为它是多个应用和网络之间的联络。其功能包括:

? 多路复用多种应用数据 ? 测试所接收数据的完整性 ? 顺序化乱序接收的数据 ? 对成功收到数据做出应答

? 速率一适应的流控(通过TCP窗口大小)

7

网络游戏技术开发

? 定时功能

? 重传在传输过程中损坏或丢失的数据

4.2 B/S模式

B/S(浏览器/服务器)模式是一种以Web技术为基础的新型的系统体系结构。B/S系统采取请求/响应模式,首先由浏览器发起请求,以URI(统一资源定位符)的方式向服务器申请资源。如果是静态资源,比如一个纯HTML格式的网页,web服务器直接向浏览器返回该网页内容;如果是动态资源,web服务器会预先对它做出相应处理,同样返回HTML格式的内容。浏览器对HTML内容进行语法解释并显示,这样就完成了一次过程。

浏览器和服务器之间通过HTTP协议进行通信,HTTP协议是无状态的,浏览器每次向服务器请求资源时都会主动建立连接,服务器返回结果后双方即断开连接,所以对于服务器来说,在处理浏览器请求时,根本不知上一次请求处理状况,这和传统的C/S模式有很大区别。在这个过程中,作为客户端的浏览器所做的工作非常有限,只要负责对返回的HTML内容进行处理,我们知道HTML是一个标准的标注语言,任何浏览器都能阅读和显示。在这个意义上说,B/S系统的客户端是通用的,当我们修改应用系统时,不需对客户端进行更新,而且许多操作系统都自带了浏览器,意味着我们可以不用去关心客户端。

4.3 三层及多层架构

虽然C/S的结构很经典,但任何事物都有两面性,而且在不同的环境下表现出的性能有很大的不一样。C/S的结构是基于资源不对等,且为实现资源共享而提出的,它也存在着很多的缺点。一是应用系统的企业逻辑业务都在客户端编写,造成客户端的庞大臃肿,且当应用系统需求改变时,所有客户端都必须改变,维护成本非常高。二是C/S结构是单一服务器且以局域网为中心的,难以扩展成大型的网络。三是客户端符合重,系统性能不稳定。单一的C/S结构存在很多缺点,那必然会有一种新的东西来代替它,那就是多层C/S结构。

任何事物都有一个发展的过程,都是由简到繁,一步一步满足复杂多变的需求的。为了提高数据的安全性与系统的可扩充性,可以有两层模型发展为多层模型,也就是将数据库的访问放部署在一个或多个中间层,这样客户程序就只能间

8

网络游戏应用平台的体系结构

接的通过中间层来访问数据库。中间层可能运行于不同于客户机的其他机器上,经过合理的优化与部署后,可以使得整个系统的负荷趋于均衡,这样就可以提高整个系统的运行效率。这也是大型的网络游戏几十万人同时在线的技术基础。

那么这些位于中间层的程序到底是什么呢?这些程序叫做应用服务程序,他们表达了一个企业处理信息的主要业务逻辑,也就是企业的系统模型与功能模型。客户端的程序仅仅实现图形用户界面,完成终端用户与业务逻辑之间的交互。从客户端程序的角度来看,中间层将所有的业务逻辑抽象为更高层次的应用程序接口,客户程序则通过这些接口来构建整个企业的应用系统。这时,我们就可以明显的看出,三层结构比典型的两层结构可以更好的支持业务逻辑的控制与管理。再者,三层结构或者多层结构有着很好的伸缩性、安全性、管理性。通过图2我们可以很清晰的看到它的结构。

9

网络游戏技术开发

数据库 服务器 数据层 中间件 应用 ?? 中间件 应用 中间层 程序服务器 程序服务器 ?? 客户端 客户端 ?? 客户端 客户端 客户层 图2 C/S模型的多层结构图

从图2我们可以看出,客户层是应用用户接口部分,它担负着用户与应用的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口,操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层。功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。数据层就是数据库管理系统,负责管理对数据库数据的读写。数据库管理系统必须能迅速执行大量数据的更新和检索。因此,一般从功能层传送到数据层的要求大都使用SQL语言。

分布式多层结构把整个应用系统的执行分成数个不同部分并且执行在不同的机器中。其中应用程序服务器作为中间层集中实现企业逻辑,协调多层之间的请求,并掌握数据集定义的全部细节和远程数据库服务器进行通信,这样客户端应用程序就重点放在显示数据和与用户交互上,客户端应用程序甚至都不需要知道数据在那儿。

10

搜索更多关于: 网络游戏技术开发(最终版) 的文档
网络游戏技术开发(最终版).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c27u1e0d1tf03gjy5z86b_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top