首页 > 其他分享 >Unity网络开发基础(part4.数据通信模型)

Unity网络开发基础(part4.数据通信模型)

时间:2024-11-04 12:18:24浏览次数:3  
标签:数据通信 模型 集中式 Unity part4 客户端 分布式 服务端 分散式

目录

前言

数据通信模型

分散式

集中式

分布式

C/S模型

B/S模型

P2P模型

总结


前言

        在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

相关文章

  • Unity网络开发基础(part5.网络协议)
    目录前言网络协议概述OSI模型OSI模型的规则第一部分物理层数据链路层网络层传输层第二部分​编辑应用层表示层会话层每层的职能TCP/IP协议TCP/IP协议的规则TCP/IP协议每层的职能TCP/IP协议中的重要协议TCP协议三次握手四次挥手UDP协议TCP与UDP对比总......
  • Unity图片旋转
    Unity图片旋转概述旋转图片的应用场景Unity中旋转图片技术广泛应用于各类游戏和互动体验中,为用户带来生动直观的视觉效果。主要应用场景包括:UI设计:旋转按钮、指示器等提升界面交互性动画制作:实现角色转身、物品旋转等动作物理模拟:模拟真实世界的旋转运动特......
  • blender动画导出Unity
    在Blender构建一个带有骨骼的模型为根骨骼(Root)构建动画导出FBX文件这里我是用了个插件,BetterFBXImport注意导出时,要将动画设置在第1帧,即小球在原点位置,不然导出后的FBX的原点会跑歪导入进Unity,设置一下根骨参数动画参数调整注意这3个选项是询问你,是否将旋转,X/Y/Z......
  • 【Unity魔法音效包】SPELLS MAGIC 1 SOUND FX PACK 施法、技能释放、法术命中
    SPELLSMAGIC1:SOUNDFXPACK是UnityAssetStore上的一个音效包,专为奇幻类游戏中的魔法和法术效果设计。该插件提供了丰富的魔法音效,适用于施法、技能释放、法术命中、环境音效等场景。该音效包旨在帮助开发者提升游戏中的法术表现力,使玩家在施展魔法时获得更强的沉浸感......
  • unity3d————坐标转换(世界转本地)
    this.transform.InverseTransformPoint1. 世界坐标系与局部坐标系世界坐标系:Unity3D中的全局参考框架,所有游戏对象的位置、旋转和缩放都是相对于这个框架来定义的。局部坐标系:每个游戏对象都有自己的局部坐标系,这个坐标系是相对于该游戏对象的位置、旋转和缩放来定义的。2......
  • unity3d——Time
    在Unity3D中,Time类是一个非常重要的工具类,它提供了一系列与时间相关的属性和方法,帮助开发者在游戏中实现各种时间相关的操作。以下是一些Time类常用的方法及其示例:一、常用属性Time.time含义:表示从游戏开始到现在的时间,以秒为单位。该时间会随着游戏的暂停而停止计算。示例......
  • unity3d——Vector3
    在Unity3D中,Vector3是一个非常重要的结构体,用于表示三维空间中的位置和方向。以下是关于Vector3的一些关键知识点:一、Vector3的基本概念和属性定义:Vector3是一个包含三个浮点数的结构体,分别代表X、Y和Z轴上的分量。它用于描述具有大小和方向两个属性的物理量,如速度、加速度......
  • Unity——删除一个DontDestroyOnLoad的物体
    文章目录前言一、示例前言在Unity中,如果你想要删除一个被标记为DontDestroyOnLoad的GameObject,你可以通过调用Destroy方法来实现。但是由于DontDestroyOnLoad会在场景切换时保持对象不被销毁,你需要先取消这个标记,然后再销毁它。一、示例usingUnityEngine;publ......
  • ARCore与Unity集成开发教程_2024-07-25_21-26-46.Tex
    ARCore与Unity集成开发教程ARCore简介ARCore功能概述ARCore是Google开发的增强现实(AR)平台,旨在为移动设备提供高精度的AR体验。它通过以下核心功能实现这一点:运动追踪:ARCore能够感知设备的移动,并在虚拟和现实世界之间保持稳定的定位,即使在设备移动时也能保持虚拟对象......
  • 【Unity移动端触控插件】Control Freak 2 - Touch Input Made Easy!
    ControlFreak2是一款专为Unity开发的插件,旨在简化触控输入的处理,特别适用于移动设备游戏。它提供了一整套易于使用的界面和控件,使开发者能够快速创建响应式的触摸输入系统,提升用户体验。主要功能多种控件支持:提供虚拟摇杆、按钮、滑块等多种触控控件,方便开发者根据......