【unity游戏开发——网络】计算机网络中的三种数据管理模型(分散式、集中式、分布式)和三大通信模型(C/S、B/S、P2P)
注意
:考虑到热更新的内容比较多,我将热更新的内容分开,并全部整合放在【unity游戏开发——网络】专栏里,感兴趣的小伙伴可以前往逐一查看学习。
文章目录
- 一、数据管理模型
- 1、分散式 (Decentralized - 各管各的)
- 2、集中式 (Centralized - 一个大脑管所有)
- 3、分布式 (Distributed - 大家分工合作)
- 二、通信模型
- 1、客户端-服务器模型 (C/S, Client-Server)
- 2、浏览器-服务器模型 (B/S, Browser-Server)
- 3、点对点模型 (P2P, Peer-to-Peer)
- 专栏推荐
- 完结
一、数据管理模型
在早期的计算机网络中,为了有效的利用计算机,一般将数据通信模型分为分散式(Decentralized)、集中式(Centralized)、分布式(Distributed)
这三种方式决定了数据在网络环境中的管理方式。
1、分散式 (Decentralized - 各管各的)
- 比喻: 就像老早以前,每个办公室或家里都有一台独立的电脑,上面存着自己的文件(数据)。电脑之间不联网。
- 特点:
- 数据只存在自己电脑上。
- 别人看不到你的数据,你也看不到别人的。
- 同一个文件,不同部门可能各自存了一份(冗余)。
- 如果A部门改了文件,B部门的旧文件还是老样子(不一致)。
- 维护成本高(每台电脑都得管)。
- 缺点: 数据重复、容易不一致、管理麻烦、成本高。现在基本不用了。
2、集中式 (Centralized - 一个大脑管所有)
- 比喻: 公司买了一个超级大的中央服务器(就像总部的一个巨型保险柜)。所有人的数据都存在这个服务器里。大家的电脑(终端)只是用来连接和操作服务器上的数据。
- 特点:
- 所有数据存在一个地方(服务器)。
- 大家共享同一个数据源,看到的都是一致的。
- 消除了数据重复(冗余)。
- 优点: 数据一致、方便共享、管理相对集中。
- 致命缺点: 服务器(那个“大脑”或“巨型保险柜”)要是坏了或者网络断了,所有人都没法工作了! 风险太高。
3、分布式 (Distributed - 大家分工合作)
- 比喻: 结合了上面两种的优点。公司有总部(集中控制核心数据),但各地也有自己的小仓库(服务器),存放和处理本地常用的数据。小仓库之间、小仓库和总部之间都能联网协作。
- 特点:
- 数据既不是全分散,也不是全集中。核心数据可能集中管理(比如总部的数据库),其他数据和处理任务分散在不同地方的服务器上。
- 服务器之间可以互相通信、交换数据、分担工作。
- 优点: 既有集中式的好处(数据一致性、共享方便),又提高了容错性(一个地方坏了,其他地方还能工作一部分)和扩展性(加服务器就能处理更多任务)。现代互联网和企业系统的主流方式。
二、通信模型
1、客户端-服务器模型 (C/S, Client-Server)
- 工作流程:
- 比喻: 你去餐厅吃饭。你(客户端 Client)点菜 -> 服务员(服务端 Server)接收订单 -> 厨房处理 -> 服务员端菜给你。有明确的服务请求者和提供者。
- 特点: 最常见的网络通信方式。比如微信App(客户端)连接微信服务器(服务端),网游客户端连接游戏服务器。需要开发专门的客户端程序。
2、浏览器-服务器模型 (B/S, Browser-Server)
-
工作流程:
-
比喻: C/S 模型的特例。客户端不是专门开发的App,而是通用浏览器(Chrome, Edge, Safari等)。你打开浏览器访问淘宝(服务端),浏览器负责“点菜”和“端菜”。
-
特点:
- 客户端就是浏览器,不用为每个网站单独开发一个App。
- 使用 HTTP/HTTPS 协议(网页协议)。
- 服务端(网站)可以随意更换或升级,只要浏览器能访问就行。
-
优点: 客户端通用、部署方便(用户只要有浏览器就行)、服务端灵活。访问网页、Web邮箱、在线文档都是B/S。
3、点对点模型 (P2P, Peer-to-Peer)
-
工作流程:
-
比喻: 在一个集市上,每个人既是买家也是卖家。小明(Peer 1)想下载一首歌,他可能从隔壁的小红(Peer 2)那里下载一部分,又从远处的小刚(Peer 3)那里下载另一部分。同时,小明自己电脑上已有的部分也可能被其他人下载。每个人既请求服务也提供服务。
-
特点: 没有固定的中心服务器。参与者(节点)地位平等,互相直接交换资源(文件、计算能力等)。
-
优点: 充分利用每个用户的资源(带宽、存储),成本低,扩展性好(人越多资源越多)。
-
缺点: 管理困难(谁在线?谁有资源?)、可靠性不如C/S(某个用户随时可能关机下线)、安全性挑战(文件来源可信吗?)。
专栏推荐
地址 |
---|
【unity游戏开发入门到精通——C#篇】 |
【unity游戏开发入门到精通——unity通用篇】 |
【unity游戏开发入门到精通——unity3D篇】 |
【unity游戏开发入门到精通——unity2D篇】 |
【unity实战】 |
【制作100个Unity游戏】 |
【推荐100个unity插件】 |
【实现100个unity特效】 |
【unity框架/工具集开发】 |
【unity游戏开发——模型篇】 |
【unity游戏开发——InputSystem】 |
【unity游戏开发——Animator动画】 |
【unity游戏开发——UGUI】 |
【unity游戏开发——联网篇】 |
【unity游戏开发——优化篇】 |
【unity游戏开发——shader篇】 |
【unity游戏开发——编辑器扩展】 |
【unity游戏开发——热更新】 |
【unity游戏开发——网络】 |
完结
好了,我是向宇
,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!
相关文章:
【unity游戏开发——网络】计算机网络中的三种数据管理模型(分散式、集中式、分布式)和三大通信模型(C/S、B/S、P2P)
注意:考虑到热更新的内容比较多,我将热更新的内容分开,并全部整合放在【unity游戏开发——网络】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 一、数据管理模型1、分散式 (Decentralized - 各管各的)2、集中式 (Centra…...
MR30分布式 IO在物流堆垛机的应用
在现代物流行业蓬勃发展的浪潮中,物流堆垛机作为自动化仓储系统的核心设备,承担着货物的高效存取与搬运任务。它凭借自动化操作、高精度定位等优势,极大地提升了仓储空间利用率和货物周转效率。然而,随着物流行业的高速发展&#…...
香港维尔利健康科技集团推出AI辅助医学影像训练平台,助力医护人才数字化转型
香港维尔利健康科技集团近日正式发布其自主研发的“AI辅助医学影像训练平台(V-MedTrain)”,这一创新平台的上线,标志着医学影像教育迈入智能化辅助教学新时代。依托人工智能与大数据分析技术,香港维尔利健康科技集团在…...
2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(五)
2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(五) 第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1:应急响应(可以培训有答案)任务 2:通信数据分析取…...
基于 Python 的批量文件重命名软件设计与实现
在工作过程中,经常有很多文件,想要对文件名进行批量改名,特此写了一个程序,以实现此功能。 一、批量文件重命名软件设计原理 (一)核心原理阐述 批量文件重命名软件的核心原理在于运用操作系统提供的文件管理功能,借助编程手段达成对文件名称的批量修改。在这个软件里,…...
【深度学习新浪潮】什么是上下文工程?
什么是上下文工程? 上下文工程(Context Engineering) 是指通过设计、优化与大语言模型(LLM)交互时的输入内容(即“上下文”),引导模型生成更符合预期、更精准回答的系统性方法。这里的“上下文”通常包括 提示词(Prompt)、示例(Few-Shot Examples)、历史对话记录、…...
逆向入门(8)汇编篇-rol指令的学习
还是那个题,这回又碰到个循环左移,有挺多操作方法之前都没有系统的学,用到的时候再看看感觉还挺好,不耽误事 0x00 基本介绍 ROL(Rotate Left): 循环左移,它有两个操作数: 第一个操作数是目标操作数&#…...
Fisco Bcos学习 - 开发第一个区块链应用
文章目录 一、前言二、业务场景分析:简易资产管理系统三、智能合约设计与实现3.1 存储结构设计3.2 接口设计3.3 完整合约代码 四、合约编译与Java接口生成五、SDK配置与项目搭建5.1 获取Java工程项目5.2 项目目录结构5.3 引入Web3SDK5.4 证书与配置文件 六、业务开发…...
黑马python(十六)
目录: 1.JSON数据格式的转换 2.pyecharts模块简介 3.pyecharts入门使用 4.数据准备 5.生成折线图 1.JSON数据格式的转换 2.pyecharts模块简介 官方网站: 画廊网站:有更多的图标形式 测试是否安装 3.pyecharts入门使用 运行会生成一个html的文件&a…...
完成国产化替代!昆明卷烟厂用时序数据库 TDengine 重塑工业时序数据平台
小T导读:昆明卷烟厂作为红云红河烟草(集团)有限责任公司的重要组成部分,是集团卷烟生产的核心工厂。早期在建设制造执行系统(MES)时,其采用了 Wonderware 平台的时序数据存储功能模块࿰…...
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | BackgroundSlider(背景滑块)
📅 我们继续 50 个小项目挑战!—— BackgroundSlider组件 仓库地址:https://github.com/SunACong/50-vue-projects 项目预览地址:https://50-vue-projects.vercel.app/ 使用 Vue 3 的 Composition API 和 <script setup> …...
Wpf的Binding
前言 wpf的Binding就像一个桥梁,它的作用就是连接逻辑层与界面层,既能够把逻辑层的数据搬到界面层展示,又能将界面层的数据更改后传递到逻辑层,Binding的数据来源就是Binding的源,数据展示的地方就是Binding的目标。 …...
Redis—持久化
持久化 在mysql当中,有4个比较关心的特性,分别是原子性、一致性、隔离性和持久性。这里的持久性和持久化是一回事。我们该如何判断是否具有持久性呢?答案就是看重启进程或者主机之后,数据是否存在。当我们把数据存储在硬盘上是就…...
Spring Boot中日志管理与异常处理
以下是Spring Boot中日志管理与异常处理的系统化实践指南,结合最佳实践与核心配置,确保应用健壮性与可维护性。 📊 一、日志管理核心配置 默认框架与级别控制 Logback 是Spring Boot默认日志框架,通过application.yml快速配置&…...
基于MATLAB的BP神经网络的心电图分类方法应用
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 心电图(ECG)是临床诊断心血管疾病的重要工具,能够反映心脏电活动的周期性变化。…...
【笔记】Docker 配置阿里云镜像加速(公共地址即开即用,无需手动创建实例)
2025年06月25日记 【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)-CSDN博客 【笔记】解决 WSL 迁移后 Docker 出现 “starting services: initializing Docker API Proxy: setting up docker ap” 问题…...
Java 中LinkedList 总结
406.根据身高重建队列 力扣题目链接(opens new window) 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高…...
微信小程序 / UNIAPP --- 阻止小程序返回(顶部导航栏返回、左 / 右滑手势、安卓物理返回键和调用 navigateBack 接口)
目录 理解page-container的原理 设置禁止点击遮盖层关闭? 阻止左滑返回 理解page-container的原理 page-container组件的所有属性,最重要的是show值。在页面上引入这个组件后,若show值为true,页面上所有各种方式触发的返回操作…...
Linux基本指令篇 —— mv指令
在Windows中我们经常使用CtrlX和CtrlV将一个地方的文件或目录移动到另一个地方,我们若是要在Linux当中完成此操作,则需要使用mv指令。mv 是 Linux 系统中用于移动或重命名文件和目录的基本命令之一,是 "move" 的缩写。下面将详细介…...
基于STM32的智能节能风扇的设计
基于STM32的智能节能风扇的设计 内容:1.摘要 本设计旨在解决传统风扇能耗高、功能单一的问题,提出一种基于STM32的智能节能风扇。通过结合温度传感器、人体红外传感器等多种传感器,利用STM32微控制器实现对风扇的智能控制。经过实际测试,该智…...
HCIA-IP路由基础
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 本篇笔记是根据B站上的视频教程整理而成,感谢UP主的精彩讲解!如果需要了解更多细节,可以参考以下视频…...
Linux 内存管理之page cache
文章目录 一、page cache1.1 File-backed pages和Anonymous pages1.2 page cache/slab cache1.3 读/写路径1.4 脏页回写1.5 drop_caches1.6 时间局部性与空间局部性1.7 Page Cache 的两种类型1.8 关键数据结构 二、Page Cache 的产生2.1 Buffered I/O(标准 I/O&…...
uniApp实战四:网络请求封装
文章目录 1.最终效果预览2.请求封装3.创建config配置文件4.创建api请求5.页面调用 说明:当前笔记基于Vue3开发,HbuilderX版本4.66 1.最终效果预览 2.请求封装 在util/request.js下创建js文件,代码如下 import config from /configconst tim…...
sentinel 自定义 dashboard 用户名密码
默认情况下,sentinel dashboard 用户名密码为 sentinel / sentinel ,这里我使用重写 镜像的方式: // 定义 Dockerfile $ cat Dockerfile # 基于现有 Sentinel Dashboard 镜像 FROM bladex/sentinel-dashboard:1.8.4# 重新定义 ENTRYPOINT&…...
Fisco Bcos学习 - 搭建星形拓扑组网
文章目录 一、前言二、环境准备与依赖安装2.1 系统要求2.2 依赖安装 三、星形拓扑设计与节点规划四、使用build_chain.sh构建星形拓扑4.1 创建操作目录并获取脚本4.2 生成星形拓扑配置文件4.3 执行构建命令4.4 查看生成的节点文件 五、启动节点与共识验证5.1 启动所有节点5.2 查…...
深度学习入门--(二)感知机
一.感知机是什么 简单的输入和输出,感觉(输入),知道(输出,作出反应) 二.简单逻辑电路 2.1与门 import numpy as np #AND def AND(X1,X2):w1,w2,thera0.5,0.5,0.7tmpX1*w1X2*w2if tmp>the…...
LeetCode 3298.统计重新排列后包含另一个字符串的子字符串数目2
给你两个字符串 word1 和 word2 。 如果一个字符串 x 重新排列后,word2 是重排字符串的 前缀 ,那么我们称字符串 x 是 合法的 。 请你返回 word1 中 合法 子字符串 的数目。 注意 ,这个问题中的内存限制比其他题目要 小 ,所以你…...
【nRF52832】【环境搭建 1】【ubuntu下搭建nRF52832开发环境】
本文讲述如何在 ubuntu 22.04 下开发 nRF52832. host 环境说明: $ uname -a Linux leo 6.8.0-60-generic #63~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 22 19:00:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux1. 安装软件 sudo apt install gcc-arm-none-eabisudo apt-get i…...
Django
1. Django 和 Tornado 的关系 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。Django 遵循 MVC(模型-视图-控制器)设计模式的一个变种,称为 MTV(模型-模板-视图)。Django 框架提供…...
51c嵌入式~CAN~合集2
我自己的原文哦~ https://blog.51cto.com/whaosoft/14016935 一、CAN总线常见信号干扰问题 定位干扰原因 当总线有干扰时,有经验的工程师能够迅速定位,但是对于新手来说却很麻烦。 造成总线干扰的原因有很多,比如通过电磁辐射耦合到通…...
【iOS】iOS崩溃总结
【iOS】iOS崩溃总结 一、前言 之前写了一篇博文《【Flutter】程序报错导致的灰屏总结》,浏览量、收藏率和点赞量还挺高,还被收录了,就想着总结一下iOS崩溃,这个也是在iOS面试中经常被问到的。 在 iOS 开发过程中,导致…...
npm 报错:“无法加载文件 ...npm.ps1,因为在此系统上禁止运行脚本” 解决方案(附执行策略说明)
在使用 npm 命令时,部分 Windows 用户可能会遇到如下错误: npm : 无法加载文件 D:\nvm4w\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID135170 中的 about_Executi…...
AES加密:为你的PDF文档加上一道钢铁防线
在数字化时代,确保敏感数据的安全性至关重要。加密技术在保护信息免受未经授权访问方面起着关键作用。而在众多加密标准中,AES(高级加密标准)因其强大的安全性和广泛的应用而脱颖而出。那么,AES加密如何应用到PDF文档中…...
2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(一)
2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(一) 第一部分:网络平台搭建与设备安全防护任务书DCRS:DCFW:DCWS:WAF: 第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1:应急响…...
1688商品发布API:自动化上架与信息同步
一、1688商品发布API的核心功能与技术架构 1.1 API功能全景 1688商品发布API是1688开放平台的核心组件之一,支持商品信息的自动化发布、编辑、上下架及库存同步。其核心功能包括: 商品信息管理:支持商品标题、描述、价格、库存、SKU&#…...
鸿蒙ArkUI---基础组件Tabs(Tabbar)
基础页面组件 Tabs 作用: 快速创建Tabbar 个人理解: 快速的创建Tabar。 效果图: 代码:interface TabItem {icon: Resource; //未选中activeIcon: Resource; //选中name: string; //文字 }Entry Component struct Index {// st…...
50. Pow(x, n)快速幂算法
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。此函数应将 x 作为浮点数(意味着它可以是十进制数)和 n 作为整数(可以是正数、负数或零)一起使用。 快速幂(Expo…...
Python函数
三.函数进阶 0.定义 函数三要素:函数名,参数,返回值,其中只有函数名是必须要的,参数,返回值可以没有 语法: def 函数名(参数): 函数体 return 返回值 1.…...
7.Spring框架
# spring框架Spring3.0开启了纯注解开发模式,使用Java类替代配置文件,开启了Spring快速开发赛道## 为什么要使用 **Spring** 框架? Spring 是一个轻量级应用框架,它提供了 IoC 和 AOP 这两个核心的功能。它的核心目的是为了…...
计算机网络-----详解HTTP协议
✏️1. 什么是HTTP HTTP (全称为 “超⽂本传输协议”) 是⼀种应⽤⾮常⼴泛的应⽤层协议(所谓 “超⽂本” 的含义, 就是传输的内容不仅仅是⽂本(⽐如 html, css 这个就是⽂本), 还可以是⼀些其他的资源, ⽐如图⽚, 视频, ⾳频等⼆进制的数据)。 HTTP 诞⽣…...
解决npm安装依赖报错ERESOLVE unable to resolve dependency tree
在使用 npm 安装项目依赖时,有时会遇到错误信息 “npm ERR! code ERESOLVE”,该错误通常发生在依赖版本冲突或者依赖解析问题时。本文将详细介绍出现这个错误的原因,并提供解决方法,确保正确安装项目依赖并避免该错误的发生。 一…...
微信小程序安卓手机输入框文字飘出输入框
最近在开发微信小程序遇到一个问题,安卓手机输入框文字飘出输入框,但是ios系统的手机则正常。 使用情景:做了一个弹窗,弹窗内是表单,需要填写一些信息,但是在填写信息时光标不显示,输入的内容飘…...
python网络自动化-数据格式与数据建模语言
数据格式 在Python网络运维自动化最基本是JSON、YAML和XML这3种数据格式。除了这3种常用的数据格式,还有一种深受网络工程师喜爱且在网络运维自动化中常用的数据承载方式——表格 需要注意的是JSON的键必须用双引号包裹,JSON的对象数据键值对的值和数组…...
C++ 中的 atan2 函数:深入解析与应用
在 C 编程中,数学计算是许多应用场景的核心,例如几何问题、物理模拟和游戏开发等。atan2 函数作为数学库中的一个重要工具,提供了比普通反正切函数更强大的功能。本文将深入解析 atan2 函数的原理、使用方法以及实际应用场景,并通…...
云计算-Azure Functions :构建事件驱动的云原生应用报告
云计算导论 课程研究报告 Azure Functions :构建事件驱动的云原生应用 摘要: Azure Functions 是一种无服务器解决方案,是由微软 Azure 平台提供的,可以使用户专注于业务逻辑,减少代码的编写,减少需要维护…...
【笔记——李沐动手学深度学习】2.3 线性代数
2.3.1 标量 标量由只有一个元素的张量表示。 下面的代码将实例化两个标量,并执行一些熟悉的算术运算,即加法、减、乘法、除法和指数。 2.3.2 向量 人们通过一维张量表示向量。一般来说,张量可以具有任意长度,取决于机器的内存限…...
多个 Job 并发运行时共享配置文件导致上下文污染,固化 Jenkins Job 上下文
基于 context.py 固化 Jenkins Job 上下文的完整方案,适用于你当前的工作流(Python Jenkins Pipeline),解决: 多个 Job 并发运行时共享配置文件导致上下文污染;读取环境变量或 JSON 文件时被其他 Job 修改…...
github 上的php项目
github 上的php项目 项目的网址 (Loong1996/LikeGirlSite: 情侣网站、情侣网页、恋爱记录网站) # 修改 # admin/Config_DB.php//localhost 为数据库地址 一般使用默认的即可 或(127.0.0.1) $db_address "mysql_php";/…...
防火墙快速管理软件,66K超小巧
软件介绍 今天为大家推荐一款轻量级的Windows防火墙管理工具,这款工具能帮助用户快速开启或关闭系统防火墙功能,操作比系统原生设置更加便捷高效。 软件优势 相比通过系统设置层层点击的操作方式,这款仅66KB大小的微型工具只需单击按钮…...
入门级STM32F103C8T6无人机遥控(原理图)
一、STM32主控电路 一、STM32 主控电路 把 STM32 想象成 “机器人的大脑”,核心电路是 “大脑的基础保障”:让大脑有电、有心跳(时钟 )、能复活(复位 )。 1. 电源引脚(VDD、VDDA、VSS 等 &#…...