目录
前言
在Unity网络开发中,数据通信模型是实现客户端与服务端之间数据交换的核心。不同的数据通信模型具有不同的特点和适用场景,选择合适的模型对于实现高效、稳定的数据通信至关重要。
数据通信模型
在早期的计算机网络中,为了有效的利用计算机,一般将数据通信模型分为
分散式(Decentralized)
集中式(Centralized)
分布式(Distributed)
这三种方式决定了数据在网络环境中的管理方式
比如一般的企业管理系统就是一个典型的集中式和分布式的综合体现所有数据用专用的数据库集中存储,属于集中式而对数据的处理则由各个部门的软件分别控制,属于分布式。
分散式
在分散式系统中,用户只负责管理自己的计算机系统,各自独立的系统之间没有资源或信息的交换和共享。就类似一台台没有联网的设备。
这种模式由于存在大量共享数据的重复存储,除了引起数据兄余之外,也容易导致一个组织内各部门数据的不一致性。
同时还会造成硬件、支持和运营维护等成本的大量增加,因此早被淘汰。
集中式
在集中式环境中,用一台主计算机保存一个组织的全部数据,而用户则通过设备连接到这台计算机系统并和它通信,从而达到访问数据的目的。
优点:方便数据共享、消除了数据的几余和不一致性。
缺点:可靠性不如分散式,主机出现故障所有系统全部瘫痪。
分布式
分布式是分散式和集中式的混合,类似我们学习过的计算机网络是分散式的水平交互和集中式的垂直控制相结合的一种模式。
它兼具了分散式和集中式的优点方便数据共享、消除了数据的冗余和不一致性,同样也加强了容错性。
C/S模型
C/S(Client/Server)模型也叫C/S模式,就是客户端和服务端模式。
它是目前大多数网络通信采用的模型。
从程序的角度来说,客户端和服务端打交道,相当于是两个应用程序(进程)在打交道。
B/S模型
B/S(Browse/Server)模型也叫B/S模式。它是一种基于Web的通信模型,使用HTTP超文本传送协议通信。B/S是一种特殊的C/S模型,特殊之处就是这种模型的客户端不需要我们自己开发,一般是某种浏览器,比如IE、Chrome、QQ浏览器、360浏览器等等。
B/S模型的优点就是单台计算机可以访问任何一个Web服务器。简单的说就是Web服务端可以随意变,但是客户端是通用的。我们不需要针对不同的服务端专门提供客户端应用程序了。
P2P模型
P2P(Peer-to-Peer)模型也叫对等互联。
每个联网的设备同时运行一个应用程序的客户端(Client)和服务端(Server)部分,也就是说一个应用程序同时作为客户端和服务端。
优点是通信方便,成本低缺点是可靠性不如C/S模型。
总结
对于网络游戏开发来说,我们采用C/S模型来进行前后端开发。在服务端的布局上往往使用的是分布式的形式进行管理。比如服务端的用户数据使用集中式进行管理,玩家的数据都存储在数据库应用(SQLServer、MySQL)中,服务端应用程序使用分布式进行管理账号服务器、游戏服务器、聊天服务器、跨服PVP服务器等分布式管理,这些服务端应用程序都使用数据库中的数据分别进行逻辑处理。
标签:数据通信,模型,集中式,Unity,part4,客户端,分布式,服务端,分散式 From: https://blog.csdn.net/weixin_67674686/article/details/143445818