2025-03-19 Unity 网络基础2——网络通信基础
文章目录
- 1 数据通信模型
- 1.1 C/S 模型
- 1.2 B/S 模型
- 1.3 P2P 模型
- 1.4 小结
- 2 网络协议
- 2.1 OSI 模型
- 2.1.1 下层
- 2.1.2 上层
- 2.2 TCP/IP 协议
- 2.2.1 TCP 协议
- 2.2.2 UDP 协议
- 3 网络游戏通信方案
- 3.1 强/弱弱联网游戏
- 3.2 长/短连接游戏
- 3.3 相关术语
1 数据通信模型
在早期的计算机网络中,为了有效的利用计算机,一般将数据通信模型分为以下 3 种方式,决定了数据在网络环境中的管理方式。
-
分散式(Decentralized)
在分散式系统中,用户只负责管理自己的计算机系统,各自独立的系统之间没有资源或信息的交换和共享。就类似一台台没有联网的设备。
这种模式由于存在大量共享数据的重复存储,除了引起数据冗余之外,也容易导致一个组织内各部门数据的不一致性。同时还会造成硬件、支持和运营维护等成本的大量增加,因此早被淘汰。
-
集中式(Centralized)
在集中式环境中,用一台主计算机保存一个组织的全部数据,而用户则通过设备连接到这台计算机系统并和它通信,从而达到访问数据的目的。
- 优点:方便数据共享、消除了数据的冗余和不一致性。
- 缺点:可靠性不如分散式,主机出现故障所有系统全部瘫痪。
-
分布式(Distributed)
分布式是分散式和集中式的混合,类似计算机网络,是分散式的水平交互和集中式的垂直控制相结合的一种模式。
兼具分散式和集中式的优点,方便数据共享、消除了数据的冗余和不一致性,同样也加强了容错性。
举例:
一般企业管理系统是典型的集中式和分布式的综合体现:
- 所有数据用专用数据库集中存储,属于集中式。
- 对数据的处理则由各个部门的软件分别控制,属于分布式。
1.1 C/S 模型
C/S(Client/Server)模型也称 C/S 模式,即客户端和服务端模式,是目前大多数网络通信采用的模型。
从程序的角度来说,客户端和服务端通讯,相当于是两个应用程序(进程)在通讯。
1.2 B/S 模型
B/S(Browse/Server)模型也称 B/S 模式,是一种基于 Web 的通信模型,使用 HTTP 超文本传送协议通信。
B/S 是一种特殊的 C/S 模型,特殊之处是 B/S 的客户端不需要开发,一般是某种浏览器,比如IE、Chrome、QQ 浏览器、360 浏览器等。
B/S 模型的优点就是单台计算机可以访问任何一个 Web 服务器,即 Web 服务端可以随意变,但客户端是通用的,不需要针对不同的服务端专门提供客户端应用程序。
1.3 P2P 模型
P2P(Peer-to-Peer)模型也称对等互联,每个联网的设备同时运行应用程序的客户端(Client)和服务端(Server),即一个应用程序同时作为客户端和服务端。
优点是通信方便,成本低;缺点是可靠性不如 C/S 模型。
1.4 小结
对于网络游戏开发来说,常采用 C/S 模型进行前后端开发,在服务端的布局上往往使用分布式管理。比如:
- 服务端的用户数据使用集中式进行管理,玩家的数据存储在数据库应用(SQL Server、MySQL)中。
- 服务端应用程序使用分布式进行管理,账号服务器、游戏服务器、聊天服务器、跨服 PVP 服务器等分布式管理,这些服务端应用程序都使用数据库中的数据分别进行逻辑处理。
2 网络协议
网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合,指计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。
其中,OSI 模型是网络通信的基本规则,TCP/IP 协议是基于 OSI 模型的工业实现。
2.1 OSI 模型
OSI 模型(Open System Interconnection Reference Model)指开放式系统互联通信参考模型,是一种概念模型,由 ISO 国际标准化组织(International Organization for Standardization)提出,不同公司均按照 OSI 标准来控制网络互联通信。
OSI 模型采用分而治之的设计方法,把网络的功能划分为不同的多个模块,以分层的形式有机地组合在一起。每层有自己的功能,像建筑物一样,每层都需要依靠下一层的支持。用户接触到的都只是最上面的一层,感受不到下面层级的复杂性。
OSI 模型把互联通信的过程抽象的分成七个层级:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层

2.1.1 下层

(1)物理层
电脑要联网,第一件事要干什么?当然是先把电脑连起来,可以用光缆、电缆、双绞线、无线电波等方式。
功能:
- 定义传输模式、定义传输速率、比特同步、比特编码等。
- 在物理媒介上实现比特流的传输,传送 0 和 1 的电信号。

(2)数据链路层
物理层用物理硬件来传输 0 和 1,但单纯的 0 和 1 没有任何意义,必须规定解读方式,比如多少个电信号算一组?每个信号位的意义?
数据链路层在物理层的上方,确定 0 和 1 的分组方式,并明确信息是发送给哪台计算机的网卡(Mac 地址)。
功能:
- 将信息构成数据包,称为“帧”。
- 每一个帧分为两个部分:标头 Head + 数据 Data。
- 标头包含数据包的一些说明项,比如:发送方和接收方的 Mac 地址,数据类型等。

(3)网络层
通过 Mac 地址定位一台计算机,理论上是可行的,但效率非常低下。
网络层的主要功能与 IP 地址有关。
功能:
- IP 选址、路由选择。
- 选择合适的路径用于通信。
- 它会在上一层的数据基础上添加标头,包含:IP 地址、版本、长度等信息。

(4)传输层
有了 Mac 地址和 IP 地址,已经可以在互联网上任意两台主机上建立通信,但如果没有端口号,无法准确的在应用程序之间进行通信。
传输层用于建立端口到端口的通信。
功能:
- 建立、管理和维护端到端的连接。
- 为端到端连接提供可靠的传输服务。
- 在上一层的数据基础上添加标头,包含:发送方接收方的端口信息、协议信息等。

2.1.2 上层

(1)应用层
应用层为最上层,和用户直接交互的联网应用程序就属于这一层,比如浏览器,游戏等。
功能:
- 为应用程序提供服务。
- 决定使用哪种协议(规则)处理数据,进行传输。
- 在原始数据的基础上添加标头,包含:协议信息等。
常用的协议(规则):FTP,HTTP,SMTP 等。

(2)表示层
不同操作系统的应用层代码和数据规范不一样,表示层使得信息在各操作系统和设备中通用。
功能:
- 数据格式转化、代码转换、数据加密。
- 把数据转换为能与各系统格式兼容并且适合传输的格式。
表示层像一个翻译,会把数据相关信息翻译成国际通用的规则。

(3)会话层
有了准备好的上层数据,在传递时需要对其进行管理,比如消息是否发送完毕,对方是否收到,是否断开连接等。会话层的主要工作就是这些内容。
功能:
- 建立、管理和维护会话。
- 设置和维护网络中两台设备之间的通信连接。
会话层不参与具体的传输,主要提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。

2.2 TCP/IP 协议
TCP/IP 传输协议(Transmission Control Protocol/Internet Protocol),即传输控制/网络协议,也称网络通讯协议。指能够在多个不同网络间实现信息传输的协议簇,是一个工业标准。
TCP/IP 协议不仅仅指的是 TCP 和 IP 两个协议,而是指由 FTP、SMTP、TCP、UDP、IP 等协议构成的协议簇,只因为 TCP 协议和 IP 协议最具代表性,所以被称为 TCP/IP 协议。
- 在传输文件时我们使用其中的 FTP 文件传输协议。
- 在传输电子邮件时我们使用其中的 SMTP 邮件传输协议。
- 在定位远端计算机位置时我们使用其中的 IP 互联网协议地址。
OSI 模型是基本概念,TCP/IP 协议是基于 OSI 概念的具体实现。

TCP/IP 协议层层封装,从应用层到网络接口层,每经过一层都会添加额外信息。

- 应用层头:协议头(FTP、HTTP 等协议),一般决定传输信息的类型。
- 传输层头:协议端口头(TCP 或 UDP协议),一般决定传输信息的规则以及端口。
- 网路层头:IP 头,决定传输路线。
- 网络接口层头尾:产生帧(消息分段),决定最终路线。
TCP/IP 协议中的重要协议
-
应用层协议
- HTTP 协议:超文本传输协议。
- HTTPS 协议:加密的超文本传输协议。
- FTP 协议:文件传输协议。
- DNS:域名系统。
-
传输层协议
- TCP 协议:传输控制协议。
- UDP 协议:用户数据报协议。
-
网络层协议
- IP 协议。

2.2.1 TCP 协议

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议。在收发数据前,必须和对方建立可靠的连接,且在消息传送过程有序,不会丢包(丢弃消息)。
如果某一条消息在传送过程中失败了,会重新发送消息,直到成功。
特点
- 面向连接:两者之间必须建立可靠的连接。
- 1 对 1:只能是 1 对 1 的建立连接。
- 可靠性高:消息传送失败会重新发送,不允许丢包。
- 有序:按照顺序进行消息发送。
三次握手,四次挥手
- 三次握手,建立连接。
- 第一次握手(C—>S):TCP 连接请求,告诉服务器建立连接。
- 第二次握手(S—>C):TCP 授予连接,告诉客户端允许连接。
- 第三次握手(C—>S):TCP 确认连接,告诉服务器准备连接。

- 四次挥手,断开连接。
- 第一次挥手(C—>S):告诉服务器数据发送完毕。
- 第二次挥手(S—>C):告诉客户端已接受消息,等待剩余数据接收完毕就断连。
- 第三次挥手(S—>C):告诉客户端消息接收完毕,准备断开连接。
- 第四次挥手(C—>S):告诉服务器,之后没收到你的回复则断开连接。

TCP 有了三次握手,四次挥手的规则,提供可靠的服务。
通过 TCP 连接传送的数据,可以做到无差错、不丢失、不重复、且按顺序到达,让服务器和客户端之间的数据传递变得更加可靠。
2.2.2 UDP 协议
UDP(User Datagram Protocol,用户数据报协议)是一种无需建立连接就可以发送 IP 封装数据包的方法,提供面向事务的简单不可靠信息传送服务。
特点
- 无连接:两者之间无需建立连接。
- 可靠性低:消息可能在传送过程中丢失,丢失后不会重发。
- 传输效率高:可靠性低且也无需建立连接,所以传输效率上更高一些。
- n 对 n:由于无连接,所以可以 n 对 n。

UDP 协议不像 TCP 协议需要建立连接,也没有三次握手和四次挥手。当使用 UDP 协议发送信息时,会直接把信息数据扔到网络上,这也造成 UDP 的不可靠性,信息传递过程中有可能丢失。
虽然 UDP 是一个不靠谱的协议,但由于不需要建立连接,因此不像 TCP 协议需要携带更多信息,具有传输效率高、资源消耗小、处理速度快的特点。
3 网络游戏通信方案
3.1 强/弱弱联网游戏
强联网游戏
游戏会频繁地和服务端进行通信,一直和服务端保持连接状态,不停地与服务器之间交换数
据。
一般的 MMORPG(角色扮演)、MOBA(多人在线竞技游戏)、ACT(动作游戏)等等都是强联网游戏,这些游戏的部分核心逻辑由服务端进行处理,客户端和服务端之间不停地同步信息。
比如:王者荣耀、守望先锋、和平精英等。
弱联网游戏
游戏不会频繁地进行数据通信,客户端和服务端之间每次连接只处理一次请求,服务端处理完
客户端的请求后返回数据后断开连接。
一般的三消类休闲游戏、卡牌游戏等都是弱联网游戏,这些游戏的核心玩法由客户端完成,客户端处理完成后只是告诉服务端一个结果,服务端验证结果即可,不需要随时通信。
比如:开心消消乐、刀塔传奇、我叫 MT 等。
3.2 长/短连接游戏
长连接和短连接游戏按照网络游戏通信特点划分,可以认为
- 弱联网游戏——>短连接游戏
- 强联网游戏——>长连接游戏
短连接游戏
需要传输数据时,建立连接,传输数据,获得响应,断开连接。
- 通信特点:需要通信时再连接,通信完毕断开连接。
- 通信方式:HTTP 超文本传输协议、HTTPS 安全的超文本传输协议(本质上是 TCP 协议)。
长连接游戏
不管是否需要传输数据,客户端与服务器一直处于连接状态,除非一端主动断开,或者出现意外情况(客户端关闭或服务端崩溃等)。
- 通信特点:连接一直建立,可以实时的传输数据。
- 通信方式:TCP 传输控制协议或 UDP 用户数据报协议。
3.3 相关术语
Socket
网络套接字,是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。
一个套接字就是网络上进程通信的一端,提供应用层进程利用网络协议交换数据的机制。
长连接游戏(强联网游戏)中主要使用 Socket 网络套接字的各种 API 进行网络通信。
Http/Https
超文本传输协议,是简单的请求—响应协议,通常运行在 TCP 协议之上,指定了客户端可能发送给服务端什么样的信息以及得到什么样的响应。
主要用于制作短连接游戏(弱联网游戏),也可以用来进行资源下载。
FTP
文件传输协议,是用于在网络上进行文件传输的标准协议,可以进行网络上资源的下载和上传。
FTP 也基于 TCP 传输,是面向连接的,为文件传输提供了可靠的保证。
相关文章:
2025-03-19 Unity 网络基础2——网络通信基础
文章目录 1 数据通信模型1.1 C/S 模型1.2 B/S 模型1.3 P2P 模型1.4 小结 2 网络协议2.1 OSI 模型2.1.1 下层2.1.2 上层 2.2 TCP/IP 协议2.2.1 TCP 协议2.2.2 UDP 协议 3 网络游戏通信方案3.1 强/弱弱联网游戏3.2 长/短连接游戏3.3 相关术语 1 数据通信模型 在早期的计算机网…...
路由器安全研究:D-Link DIR-823G v1.02 B05 复现与利用思路
前言 D-Link DIR-823G v1.02 B05存在命令注入漏洞,攻击者可以通过POST的方式往 /HNAP1发送精心构造的请求,执行任意的操作系统命令。 漏洞分析 binwalk提取固件,成功获取到固件。 现在我们已经进入到应用里了,那么我们在进行分析…...
【蓝桥杯python研究生组备赛】005 数学与简单DP
题目1 01背包 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数&a…...
数据仓库是什么,跟数据集成有什么关系
在当今数字化时代,数据已成为企业决策的重要依据。数据仓库作为企业数据管理的核心组件,其重要性不言而喻。那么,数据仓库到底是什么?它与数据集成又有着怎样的关系呢?本文将深入探讨这些问题。 一、数据仓库…...
鸿蒙NEXT项目实战-百得知识库01
代码仓地址,大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点: 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…...
【微服务】SpringBoot整合LangChain4j 操作AI大模型实战详解
目录 一、前言 二、Langchain4j概述 2.1 Langchain4j 介绍 2.1.1 Langchain4j 是什么 2.1.2 主要特点 2.2 Langchain4j 核心组件介绍 2.3 Langchain4j 核心优势 2.4 Langchain4j 核心应用场景 三、SpringBoot 整合 LangChain4j 组件使用 3.1 前置准备 3.1.1 获取apik…...
rust学习笔记16-206.反转链表(递归)
rust函数递归在14中已经提到,接下来我们把206.反转链表,用递归法实现 递归函数通常包含两个主要部分: 基准条件(Base Case):递归终止的条件,避免无限递归。 递归步骤(Recursive Ste…...
Unity 中实例化预制体的完整过程
1.资源加载(Load Asset to Memory) Unity 的资源加载是指将各种资源(如模型、纹理、音频、预制体 等)从存储介质(如磁盘、AssetBundle、远程服务器)到运行时内存的过程,使其成为可用的资源&…...
Unity动画片段丢失(AnimationClip),如何进行重新绑定
从外部导入的AnimationClip存在黄色丢失的missing提示,这时候不需要重新制作动画,只需要重新绑定动画即可。 我们以第一条Intro1:Anchored Position(缺失!)为例 第一步:双击动画中的Intro1条目,可以查看片段存储该动画的对应路径…...
mysql5.7主从部署(docker-compose版本)
mysql5.7主从部署(docker-compose版本) 1:docker-compose-test.yml 文件信息 version: 3services:# MySQL 数据库mysql-master:image: mysql:5.7container_name: mysql-masterenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: nacosports:- 23…...
模型部署实战:PyTorch生产化指南
一、为什么要做模型部署? 模型部署是将训练好的模型投入实际应用的关键步骤,涉及: 模型格式转换(TorchScript/ONNX)性能优化(量化/剪枝)构建API服务移动端集成 本章使用ResNet18实现图…...
SQLMesh 系列教程:Airbnb数据分析项目实战
在本文中,我们将探讨如何利用dbt项目的代码库来实现一个简单的SQLMesh项目。本文的基础是基于Udemy讲师为dbt课程创建的示例项目,可以在这个GitHub repo中获得。这个dbt项目是相对完整的示例,我们将使用它作为模板来演示SQLMesh(下…...
LeetCode hot 100 每日一题(11)——189. 轮转数组
这是一道难度为中等的题目,让我们来看看题目描述: 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3…...
VLAN综合实验
一、实验拓扑 二、实验要求 1、PC1/3处于同一个网段,所在接口为access,属于VLAN 2。 2、PC2/4/5/6处于同一网段。 3、PC2可以访问PC4/5/6。 4、PC4可以访问PC5,但不能访问PC6。 5、PC5不能访问PC6。 6、所有PC通过DHCP获取IP地址&#…...
杨辉三角(js实现,LeetCode118)
看到这道题我的第一反应是找规律,核心突破点是numRows这个参数,杨辉三角的第numRows行拥有的元素数量为numRows个,并且头尾都是1,由此我们可以通过双层for循环,先生成每一行的数组,然后将每一行的数组push进…...
C语言复习笔记--数组
今天继续来浅浅推进一下C语言的复习,这次是数组的复习,话不多说,正文开始. 数组的概念 数组是⼀组相同类型元素的集合,一种自定义类型.数组中元素个数不能为0.数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组. 下面从一维数组说起. 一维数组的创建和…...
Linux操作系统实验报告单(3)文本编辑器vi/vim
一、实验目的 掌握vi/vim编辑器的进入和退出方式了解vi/vim的三种模式熟练vi/vim的操作命令 二、实验内容 1.在家目录下新建一个名为“vitest_name”(“name”为学生姓名拼音)的目录。 ●创建用户目录命令:sudo mkdir /home/vitest_lw3613 …...
docker linux 常用操作命令
以下是 Docker 的常见操作命令及其简单介绍,帮助你快速上手 Docker 的基本使用: 1. 镜像操作 拉取镜像 docker pull 镜像名称:标签示例: docker pull ubuntu:20.04从 Docker Hub 拉取 Ubuntu 20.04 镜像。 拉取镜像 docker build -t"…...
除自身以外数组的乘积——面试经典150题(力扣)
题目 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时…...
打破煤矿通信屏障,无线系统赋能生产安全与智能进阶
项目背景 在煤矿行业智能化转型的浪潮中,七台河矿业局积极回应国家煤矿智能化建设的号召,采取了具有前瞻性的战略举措——在七台河地区的煤矿部署了“井上井下”无线覆盖与广播一体化系统。此举旨在消除井上与井下之间的通信障碍,加强矿业局与…...
DeepSeek + Kimi 自动生成 PPT
可以先用deepseek生成ppt大纲,再把这个大纲复制到Kimi的ppt助手里: https://kimi.moonshot.cn/kimiplus/conpg18t7lagbbsfqksg 选择ppt模板: 点击生成ppt就制作好了。...
Blender标注工具
按住键盘D键 鼠标左键绘制 / 右键擦除 也可以在上方选择删除...
鸿蒙开发:远场通信服务rcp拦截器问题
前言 本文基于Api13。 上篇文章,简单的对rcp中的会话问题做了概述,本篇文章,我们聊一聊rcp中的拦截器问题,按照正常开发,其实拦截器中也不存在问题的,毕竟都是很官方的开发方式,但是在结合了创建…...
调研报告:Hadoop 3.x Ozone 全景解析
Ozone 是 Hadoop 的分布式对象存储系统,具有易扩展和冗余存储的特点。 Ozone 不仅能存储数十亿个不同大小的对象,还支持在容器化环境(比如 Kubernetes)中运行。 Apache Spark、Hive 和 YARN 等应用无需任何修改即可使用 Ozone。Ozone 提供了 Java API、S3 接口和命令行接口…...
Thinkphp 多文件压缩
控制器 <?phpnamespace app\api\controller; use think\Controller; use think\facade\Db; use think\facade\Request;use ZipArchive;class DrugTestResult {public function download(){if(Request::isPost()){$data Request::post();$idnumber Request::param(idnumb…...
NGINX中的反向代理实践
以下是一个全面和优化的配置示例,包括了错误处理、超时设置、头部信息调整等: server {listen 80;server_name your.domain.name; # 替换为你的实际域名或IP地址# 前端应用的静态资源处理location / {root /path/to/vue/dist; # Vue 应用的dist目录try_…...
redis分布式锁实现Redisson+redlock中watch dog是如何判断当前线程是否持有锁进行续租的呢?
在 Redis 中,Watch Dog(看门狗)机制主要用于实现分布式锁的自动续期(如 Redisson 的 RedLock 实现)。其核心目的是确保当业务逻辑执行时间超过锁的初始过期时间(leaseTime)时,锁不会…...
[spring] Spring JPA - Hibernate 多表联查 1
[spring] Spring JPA - Hibernate 多表联查 1 之前在 [spring] spring jpa - hibernate 名词解释&配置 和 [spring] spring jpa - hibernate CRUD 简单的学习了一下怎么使用 Hibernate 实现 CRUD 操作,不过涉及到的部分都是逻辑上比较简单的实现——只在一张表…...
在 Elasticsearch 中探索基于 NVIDIA 的 GPU 加速向量搜索
作者:来自 Elastic Chris Hegarty 及 Hemant Malik 由 NVIDIA cuVS 提供支持,此次合作旨在为开发者在 Elasticsearch 中的向量搜索提供 GPU 加速。 在 Elastic Engineering 组织内,我们一直致力于优化向量数据库的性能。我们的使命是让 Lucen…...
2025年图生视频模型技术全景解析
一、开源图生视频模型 阿里通义万象Wan2.1系列 I2V-14B-480P: 14B参数基础模型支持480P分辨率图生视频显存需求16GB以上 I2V-14B-720P: 高清增强版模型采用分帧渲染技术,输出分辨率达1280720 技术特性: 支持中文提示词自动解析内置…...
Docker build 会在本地产生巨大的文件
Docker build 会在本地产生巨大的文件, 比如 用 这个命令列出本地镜像 docker images 可见size都是很大的, 到docker目录下,看到ext4.vhdx的大小 80多G 那只能用这个命令把不用的镜像删掉了: (rmi后面是镜像id&a…...
使用LLaMA Factory微调导出模型,并用ollama运行,用open webui使用该模型
本篇记录学习使用llama factory微调模型的过程,使用ollama运行微调好的模型,使用open webui前端调用ollama的模型; 测试机信息: 系统:Ubuntu 24.04.2 LTS(桌面版) cpu:i9-14900KF …...
Git远程拉取和推送配置
Git进行远程代码拉取和推送时候提示配置user.name 和 user.email 背景:换新电脑后使用Git进行代码拉取和推送过程中,提示“Make sure you configure your “user.name” and “user.email” in git.”。这个配置针对git的正常使用仅需要配置一次…...
正则魔法:解码 return /^\d+$/.test(text) ? text : ‘0‘ 的秘密
🚀 正则魔法:解码 return /^\d$/.test(text) ? text : 0 的秘密 🌟 嘿,技术探险家们!👋 今天我们要破解一段看似简单的代码:return /^\d$/.test(text) ? text : 0。它藏在一个 Vue 前端组件中…...
[023-01-47].第47节:组件应用 - GetWay与 Sentinel 集成实现服务限流
SpringCloud学习大纲 一、需求说明: 实现网关cloudalibaba-sentinel-gateway9528模块保护cloudalibaba-provider-payment9001 二、编码实现: 2.1.建module: 新建模块,名称是:cloudalibaba-sentinel-gateway9528 2.2.改pom &l…...
【自用】NLP算法面经(5)
一、L1、L2正则化 正则化是机器学习中用于防止过拟合并提高模型泛化能力的技术。当模型过拟合时,它已经很好地学习了训练数据,甚至是训练数据中的噪声,所以可能无法在新的、未见过的数据上表现良好。 比如: 其中,x1和…...
AI视频生成产品体验分享(第2趴):Vidu、Hailuo、Runway、Pika谁更胜一筹?
hi,大家,继上次体验完可灵、即梦和pixverse,今天打算从产品经理的角度再研究下Vidu、Hailuo、Runway、Pika这几款产品!欢迎加入讨论! 一、产品简介 1. Vidu:国产自研的「一致性标杆」 📌官网…...
火绒终端安全管理系统V2.0——行为管理(软件禁用+违规外联)
火绒终端安全管理系统V2.0:行为管理策略分为软件禁用和违规外联两部分,能够管理终端用户软件的使用,以及终端用户违规连接外部网络的问题。 l 软件禁用 软件禁用策略可以选择软件名单的属性、添加软件名单以及设置发现终端使用禁用软件时的…...
台式机电脑组装---电脑机箱与主板接线
台式机电脑组装—电脑机箱与主板接线 1、机箱连接主板的跳线一般主要有USB 2.0、USB 3.0、前置音频接口(HD_AUDIO)以及POWER SW、RESET SW、POWER LED、HDD LED四个主板跳线,这些跳线分别的含义如下。 RESET SW:机箱重启按键;注:…...
【总结】常用API架构类型
引言 在现代软件开发中,API(应用程序编程接口)已经成为各类系统之间交互的核心。不同的 API 架构类型适用于不同的业务需求和技术场景,选择合适的架构可以提高系统的性能、可维护性和扩展性。本文将介绍几种常见的 API 架构类型,并分析它们的…...
ffmpeg库视频硬解码使用流程
FFmpeg 的硬解码(Hardware Decoding)通过调用 GPU 或专用硬件的编解码能力实现,能显著降低 CPU 占用率。 一、FFmpeg 支持的硬件解码类型 FFmpeg 原生支持多种硬件加速类型,具体由 AVHWDeviceType 定义,包括&…...
两个常用的用于读写和操作DXF文件C#库:netDxf 和 DXF.NET
netDxf 和 DXF.NET 是两个常用的C#库,用于读取、写入和操作DXF文件。以下是它们的详细介绍和用法示例。 1. netDxf 简介 netDxf 是一个开源的DXF文件读写库,支持AutoCAD DXF格式的读取和写入。它支持大多数DXF实体和对象,并且易于使用。 Gi…...
jmeter吞吐量控制器-Throughput Controller
jmeter吞吐量控制器-Throughput Controller 新增吞吐量控制器名词解释测试场景场景1:场景2:场景3场景4场景5场景6场景7场景8 测试结论 根据百分比执行不同的接口测试场景测试结果 新增吞吐量控制器 名词解释 Based on: Total Executions(总执行数)/Perc…...
windows 平台编译openssl
文章目录 准备环境安装perl安装NASM获取源码 源码编译配置编译 准备环境 安装perl 下载Perl 5.40.0.1 Portable zip strawberryperl 解压后设置系统环境变量 测试安装是否成功 perl --versionThis is perl 5, version 40, subversion 0 (v5.40.0) built for MSWin32-x64-m…...
【Linux】Makefile秘籍
> 🍃 本系列为Linux的内容,如果感兴趣,欢迎订阅🚩 > 🎊个人主页:【小编的个人主页】 >小编将在这里分享学习Linux的心路历程✨和知识分享🔍 >如果本篇文章有问题,还请多多包涵&a…...
Python散点图(Scatter Plot):数据探索的“第一张图表”
在数据可视化领域,散点图是一种强大而灵活的工具,它能够帮助我们直观地理解和探索数据集中变量之间的关系。本文将深入探讨散点图的核心原理、应用场景以及如何使用Python进行高效绘制。 后续几篇将介绍高级技巧、复杂应用场景。 Python散点图(Scatter Plot):高阶分析、散点…...
Spring AI Alibaba快速使用
AI 时代,Java 程序员也需要与时俱进,这两个框架必须掌握。 一个是 Spring AI一个是 Spring Alibaba AI。 Spring AI 是一个AI工程领域的应用程序框架,它的目标是将 Spring生态系统的设计原则应用于人工智能领域。 但是, Spring…...
Redis 跳表原理详解
一、引言 在 Redis 中,有序集合(Sorted Set)是一种非常重要的数据结构,它可以实现元素的有序存储和高效查找。而实现有序集合的底层数据结构之一就是跳表(Skip List)。跳表是一种随机化的数据结构ÿ…...
安全地自动重新启动 Windows 资源管理器Bat脚本
安全地自动重新启动 Windows 资源管理器脚本 可以直接运行的 Windows 批处理脚本,用于安全地自动重新启动 Windows 资源管理器。该脚本会在杀死资源管理器之前检查是否有其他进程正在使用资源管理器相关的文件。 Bat脚本 echo off title 资源管理器安全重启工具 co…...
【C++模板】
模板初阶 前言1.定义模板2.函数模板2.1定义2.2实例化函数模板2.3模板参数的匹配原则 3.类模板3.1类模板实例化 前言 模板是C中泛型编程的基础,一个模板就是一个创建类和函数的蓝图或公式。 1.定义模板 假定我们希望编写一个函数来比较两个值,并指出第…...