- 博客(364)
- 收藏
- 关注
原创 2025-08-21 Python进阶9——__main__与lambda
本文介绍了Python中两个重要概念:__name__变量的作用和lambda表达式。第一部分解释了__name__变量的特性:当模块直接运行时其值为__main__,被导入时则为模块名。通过if __name__ == "__main__"可以区分模块是独立运行还是被导入。第二部分阐述了lambda匿名函数的特点:简洁、单行、临时使用,适用于简单功能。文章详细展示了lambda的语法、参数形式,以及与高阶函数(map,filter,reduce)的配合使用,最后对比了lambda与常规
2025-08-21 23:32:45
494
原创 2025-08-21 Python进阶8——命名空间&作用域
本文介绍了Python中命名空间与作用域的核心概念。命名空间是名称到对象的映射,分为内置、全局和局部三种类型,用于避免名称冲突。作用域遵循LEGB规则(局部→嵌套→全局→内置),决定了变量的可访问范围。全局变量定义在函数外部,局部变量定义在函数内部。通过global和nonlocal关键字可以在函数内部修改全局变量或外层函数的变量。注意只有模块、类和函数会创建新作用域,其他代码块不会。理解这些概念对编写结构良好的Python代码至关重要。
2025-08-21 23:32:11
630
原创 2025-08-21 Python进阶7——装饰器
Python装饰器是一种高级功能,用于动态修改函数或类的行为而不改变其源代码。装饰器的本质是接受函数/类作为参数并返回新函数/类的函数。常用语法是@decorator_name,典型应用场景包括日志记录、性能分析、权限控制等。装饰器可分为函数装饰器和类装饰器,支持带参数和不带参数两种形式。内置装饰器如@staticmethod和@classmethod可直接使用。装饰器通过多层嵌套函数实现功能增强,在调用原函数前后执行额外操作,是Python实现横切关注点的优雅方案。
2025-08-21 23:31:37
439
原创 2025-08-21 Python进阶6——迭代器&生成器与with
本文介绍了Python中的迭代器、生成器和with关键字。迭代器是可遍历对象,需实现__iter__()和__next__()方法;生成器通过yield关键字逐步产生值,适合处理大数据。推导式提供了简洁的序列处理语法,包括列表、字典、集合和元组推导式。with关键字用于上下文管理,自动处理资源释放,支持文件操作、数据库连接等场景,可通过实现__enter__()和__exit__()方法或使用contextlib模块创建自定义上下文管理器。这些特性使Python代码更简洁高效。
2025-08-21 23:31:05
544
原创 2025-08-21 Python进阶5——类和对象
本文介绍了Python中类的基本概念和相关机制,主要包括: 名称与对象的关系,解释了对象、名称和别名的概念 作用域和命名空间的定义及层次结构 类的基本语法、类对象操作和__init__方法 类变量与实例变量的区别 继承机制,包括方法重写、基类方法调用和多重继承 文章重点阐述了Python面向对象编程的核心概念,通过多个代码示例展示了类的定义、实例化、继承等特性,并强调了可变对象作为类变量可能带来的问题。
2025-08-21 23:30:19
428
原创 2025-08-21 Python进阶4——错误和异常
Python错误处理指南 Python中的错误主要分为语法错误和异常两类。语法错误是代码不符合Python语法规则导致的解析错误。异常则是程序运行时发生的错误,如除零错误、类型错误等。 Python提供了try-except语句来捕获和处理异常: 可以处理多种异常类型,获取异常详细信息 支持else子句执行未发生异常时的代码 异常会沿着函数调用链传播 开发者可以使用raise主动触发异常,并通过异常链机制建立异常间的因果关系。还可以通过继承Exception类创建自定义异常类型,使错误处理更加精准。 合理使
2025-08-21 23:29:22
327
原创 2025-08-21 Python进阶3——模块
本文介绍了Python模块的基础和高级用法。主要内容包括: 模块基础:创建模块文件(.py)、导入模块方法、模块命名空间特性 模块高级用法:模块的双重执行特性(name)、搜索路径管理(sys.path)、编译优化(.pyc文件) 标准模块示例:sys、os等常用模块功能 包(Package)管理:包结构组织、多级导入方式、相对导入语法、路径扩展方法 文章通过具体代码示例展示了模块的定义、导入和使用方式,以及包的创建和组织规范,帮助开发者更好地组织Python项目代码结构。
2025-08-21 23:28:52
334
原创 2025-08-21 Python进阶2——数据结构
本文介绍了Python中常用的数据结构及其操作方法。主要内容包括:1)列表(List)的基本方法和特殊用途,如实现堆栈和队列;2)列表推导式和嵌套列表推导式;3)del语句的使用;4)元组(Tuple)的不可变特性和打包解包操作;5)集合(Set)的去重特性及集合运算;6)字典(Dictionary)的键值对操作和创建方式;7)循环遍历技巧,包括字典遍历、带索引遍历、多序列遍历等。文章通过示例代码详细展示了各种数据结构的典型用法和操作技巧。
2025-08-21 23:27:13
230
原创 2025-08-21 Python进阶1——控制流语句
本文介绍了Python中的分支与循环结构,以及函数定义的进阶用法。主要内容包括:if语句和match语句(Python 3.10+)实现分支结构;for循环、range()函数和循环控制语句的使用;函数参数的高级特性(默认值、关键字参数、不定长参数);参数传递限制和解包实参列表的方法;文档字符串的编写规范。最后提供了PEP 8编码风格建议,涵盖缩进、命名等最佳实践。这些内容全面覆盖了Python流程控制和函数定义的核心知识点,并附有详细代码示例说明各种语法特性。
2025-08-21 23:25:40
380
原创 2025-08-17 李沐深度学习18——循环神经网络基础
本文介绍了序列模型的基本概念及其在时序数据处理中的应用。序列模型用于处理具有时序依赖性的数据,如文本、语音、金融数据等,与独立同分布数据不同,序列数据点之间存在关联性。文章首先通过电影评分、自然语言处理等实例说明序列数据的特性,然后重点讨论两种建模方法:马尔可夫假设(假设当前数据仅与过去有限数据相关)和潜变量模型(引入潜变量概括历史信息)。在文本预处理部分,详细阐述了数据清洗、词元化(字符/词为单位)和构建词汇表的关键步骤,强调将文本转换为数字索引的必要性。这些方法为后续深度学习模型(如RNN)处理序列数据
2025-08-17 13:31:13
1030
原创 2025-08-17 李沐深度学习17——语义分割
语义分割是一种像素级分类任务,与普通图像分割、目标检测和图像分类相比,它能精细标注每个像素的语义类别(如"狗"、"路面")。FCN(全卷积网络)是深度学习解决语义分割的奠基性方法,通过转置卷积实现上采样,将小特征图恢复至原始图像尺寸。转置卷积通过反向操作增大特征图,在数学上是常规卷积的转置,能有效解决语义分割中分辨率降低的问题。该技术广泛应用于视频会议背景处理、自动驾驶路面分割和医学影像分析等领域。实例分割则更进一步,能区分同类物体的不同个体。
2025-08-17 13:14:11
671
原创 2025-08-17 李沐深度学习16——目标检测
目标检测是计算机视觉的核心任务,旨在识别图片中多个感兴趣物体并确定其位置(通过边界框表示)。相比图像分类,目标检测需处理多物体识别和定位问题,应用场景广泛,如自动驾驶、安防监控和工业质检。 关键方法包括**锚框(Anchor Box)**技术,通过预定义候选框并预测其偏移量来简化边界框回归。**交并比(IOU)用于评估锚框与真实框的重叠程度,而非极大值抑制(NMS)**则用于去除冗余预测框。COCO是目标检测领域的重要数据集,包含80类物体和超150万标注实例。 目标检测标注成本高、计算复杂,但基于锚框的算
2025-08-17 13:10:12
754
原创 2025-08-10 李沐深度学习15——数据增广与微调
数据增强通过变换现有数据提高模型泛化能力,常用方法包括翻转、裁剪和颜色变换等,可模拟不同部署环境(如光照变化)。微调(迁移学习)则利用预训练模型提升小数据集表现,类似人类经验迁移。案例显示训练与部署环境差异可能导致模型失效,需针对性增强数据。方法应在训练时在线生成,测试时不使用。代码示例展示了PyTorch实现常见增强操作。
2025-08-11 02:26:36
927
原创 2025-08-09 李沐深度学习14——经典卷积神经网络 (2)
NiN(2013)与GoogLeNet(2014)的卷积网络创新 NiN通过1×1卷积增强像素级非线性表达能力,并首创全局平均池化替代全连接层,有效解决了参数爆炸和过拟合问题。GoogLeNet则提出Inception模块,并行融合多尺度卷积操作,使网络深度突破100层。两者都摒弃了传统的全连接结构,NiN的"网络中的网络"思想被GoogLeNet继承发展,Inception模块的多路径设计更是成为现代卷积网络的基础架构。这些创新显著提升了模型效率,为后续深度学习模型设计提供了范式转变。
2025-08-09 22:40:27
530
原创 2025-08-09 李沐深度学习13——经典卷积神经网络 (1)
LeNet (1989) 是首个成功商业化的卷积神经网络,由Yann LeCun提出,用于解决手写邮政编码和银行支票识别问题。它奠定了CNN的基本结构(卷积-池化-全连接),并在MNIST数据集上验证了神经网络处理大数据的能力。AlexNet (2012) 则标志着深度学习时代的开启,利用GPU算力突破传统SVM和特征工程的局限,通过深层网络结构实现图像分类性能飞跃。二者共同展现了从手工特征到自动特征学习的范式转变,反映了数据、算法与硬件协同演进对AI发展的决定性影响。
2025-08-09 13:08:01
853
原创 2025-08-09 李沐深度学习12——卷积神经网络基础
本文从全连接层处理图像时的参数量爆炸问题入手,分析了传统MLP的局限性。为解决这一问题,提出了卷积层的两个核心设计原则:平移不变性和局部性,通过参数共享和局部感受野大幅减少参数数量。详细推导了如何从全连接层逐步引入这两个限制条件,最终得到卷积层的计算公式。进一步介绍了二维卷积的具体实现方式,包括卷积核的滑动计算过程、输出尺寸变化以及交叉相关与卷积的异同。最后指出卷积操作可扩展至一维和三维数据,为处理不同类型数据提供了通用方案。
2025-08-09 12:13:15
1006
原创 2025-08-08 李沐深度学习11——深度学习计算
本文介绍了PyTorch中神经网络模型的构建与参数管理方法。在模型构造部分,重点讲解了如何继承nn.Module基类自定义多层感知机(MLP),包括__init__构造函数和forward前向传播的实现。文章还展示了如何仿照nn.Sequential实现自定义顺序容器类MySequential,并探讨了forward方法的灵活性,支持非训练参数、复杂控制流等特性。在参数管理部分,详细说明了通过state_dict()、parameters()和named_parameters()等方法访问模型参数的技巧,包
2025-08-08 23:37:00
892
原创 2025-07-24 Unity插件 OpenCVForUnity1——OpenCVForUnity 简介
OpenCV for Unity插件将OpenCV功能集成到Unity中,支持多平台使用。核心功能包括图像处理基础(Mat数据结构、CvType数据类型、Scalar颜色表示)以及图像读写操作。插件支持从文件系统或Texture2D读取图像,提供像素级访问与修改能力,并能将处理结果保存为图片文件。开发者可通过Unity资产商店获取该插件,并参考官方文档和示例代码进行学习。使用过程中需注意内存管理和BGR/RGB颜色空间转换问题,适用于游戏开发、AR/VR及工业自动化等领域的计算机视觉应用。
2025-07-24 04:30:59
751
原创 2025-07-16 李沐深度学习10——数值稳定性与模型初始化
摘要 本文系统分析了深度神经网络训练中的数值稳定性问题。首先从梯度计算基础出发,指出多层网络中的链式求导会导致梯度爆炸或消失问题。通过ReLU和Sigmoid激活函数的实例分析,具体展示了梯度异常(爆炸或消失)的成因及其对训练的影响。针对这些问题,提出了三大解决策略:将乘法运算改为加法(如ResNet、LSTM)、梯度归一化与裁剪、合理的权重初始化与激活函数设计。特别地,详细推导了Xavier初始化的理论基础,提出应根据网络层的输入输出维度自适应调整初始化范围。最后讨论了理想激活函数应具备的特性,为稳定训练
2025-07-16 04:16:52
1077
原创 2025-07-16 李沐深度学习9——权重衰退与丢弃法
本文介绍了深度学习中两种防止过拟合的重要方法:权重衰退(L2正则化)和丢弃法(Dropout)。权重衰退通过在损失函数中添加L2正则项来限制模型参数的大小,从几何上看是将最优解"拉向"原点来降低模型复杂度。丢弃法则通过在训练时随机"关闭"部分神经元,迫使网络不依赖单一神经元,增强模型的鲁棒性。文章通过数学推导、几何图示和代码实现(使用PyTorch),详细阐述了这两种技术的原理、实现方式及效果,并指出它们能有效提高模型在测试集上的泛化能力。实验环境为Windows 1
2025-07-16 04:14:36
591
原创 2025-07-16 李沐深度学习8——模型选择与过拟合欠拟合
本文系统介绍了机器学习中的模型选择与过拟合问题。在模型选择方面,重点阐述了训练误差与泛化误差的区别,强调验证集和测试集的正确使用方法,介绍了K折交叉验证技术及其超参数选择流程。在过拟合与欠拟合部分,分析了模型容量与数据复杂度的匹配关系,通过误差曲线展示了模型复杂度对性能的影响规律,并简要介绍了VC维理论。文章指出,理想模型应在训练集和测试集上都表现良好,既不过于简单导致欠拟合,也不过于复杂导致过拟合。文中配有多幅示意图帮助理解关键概念,并给出了实际应用中的常见错误示例。
2025-07-16 04:12:36
624
原创 2025-07-16 李沐深度学习7——感知机
本文介绍了感知机与多层感知机(MLP)的原理与应用。感知机作为最早的二分类模型,由输入、权重、偏置和激活函数组成,但无法解决非线性可分问题(如XOR问题)。MLP通过引入隐藏层和非线性激活函数(如ReLU、Sigmoid、Tanh)克服了这一局限,能够学习复杂模式。文章详细阐述了感知机的训练算法、收敛定理以及MLP的分层学习策略,并分析了不同激活函数的特点及其数学表达。实验环境基于Windows 11 + WLS2 + Ubuntu-24.04,使用PyTorch 2.7.1框架实现。
2025-07-16 04:05:22
962
原创 2025-07-15 李沐深度学习6——Softmax回归
本文介绍了Softmax回归及其在分类任务中的应用。硬件配置为Win11+WLS2+Ubuntu-24.04,软件环境包括PyTorch 2.7.1。主要内容包括:1) 分类与回归的区别,重点介绍多分类问题;2) Softmax函数将输出转换为概率分布;3) 交叉熵损失的计算原理;4) 对比分析MSE、MAE和Huber损失函数的特性;5) Fashion-MNIST数据集介绍,包含10类服装图像,用于分类任务实践。文章通过公式和图示详细说明了Softmax回归的核心概念和实现细节。
2025-07-15 23:18:13
399
原创 WPS新版Latex公式改为显示样式,防止内嵌缩小
WPS Word公式显示优化方法:针对内嵌格式分数过小的问题,可先在空白处编写包含\displaystyle和末尾空格的LaTeX公式,粘贴至新建行内公式后转换为专业格式。此方法不适用于自动编号公式,需手动编号。注意事项包括:新建公式需直接粘贴格式化代码,转换后避免编辑操作,否则会恢复内嵌格式。该方法能有效改善行内公式显示效果,但需严格遵循操作步骤。(149字)
2025-07-13 23:02:37
484
原创 205-06-26 Python&深度学习1——安装Anaconda与PyTorch库(Win11+WSL2+Ubuntu24.04版)
例如,本文电脑 CUDA 最高支持 12.9 版本,因此选择一个低于 12.9 版本的即可。输入“yes”回车,这将使 conda 自动修改你的 shell 配置文件,以便在终端启动时自动激活 conda 环境。打开 windows 菜单,搜索“Windows PowerShell”并打开,输入如下命令验证是否安装成功。现在,安装 Pytorch 库时,会自动下载包含 CUDA 和 cuDNN 的预编译包,因此不用手动安装。运行以下命令,查看本机所支持的最大 CUDA 版本,本文是 12.9。
2025-06-26 04:44:25
909
1
原创 2025-05-31 Python&深度学习10——模型训练流程
本文介绍了使用PyTorch训练CIFAR-10数据集的完整流程。首先通过torchvision下载并预处理CIFAR-10数据集,使用DataLoader进行分批加载。构建了一个3层卷积神经网络模型(CNN),包含卷积、池化和全连接层,并支持GPU加速。配置了交叉熵损失函数和SGD优化器进行20轮训练。训练过程中记录了损失和准确率,并在测试阶段评估模型性能,最后保存训练好的模型。该方法为图像分类任务提供了标准化的实现框架。
2025-05-31 12:42:00
1153
原创 2025-05-31 Python&深度学习9——网络模型的加载与保存
本文介绍了PyTorch预训练模型的使用与保存方法。主要内容包括: 加载预训练模型(如VGG16)的两种方式:随机初始化权重或加载预训练权重 网络结构修改方法:添加新层或替换现有层 模型保存的两种方案:完整保存(包含模型结构和参数)或仅保存参数字典(推荐) 模型加载的注意事项:完整模型需确保类定义存在,参数加载需结构匹配 Checkpoint机制:保存/恢复训练状态,包含模型参数、优化器状态和训练信息 文章通过代码示例详细演示了各操作步骤,并指出了不同方法的使用场景和注意事项。
2025-05-31 11:42:50
964
原创 2025-05-28 Python&深度学习8——优化器
本文介绍了PyTorch中优化器(Optimizer)的使用方法和常见类型。优化器通过计算梯度、更新参数和清除梯度三个步骤训练模型。文章重点讲解了SGD和Adam两种优化器,详细列出它们的参数配置及使用建议(如SGD学习率0.01-0.1,Adam建议0.001)。同时强调学习率的重要性,建议采用动态调整策略。最后提供最佳实践:梯度清零、正确更新顺序以及合理选择学习率,并附示例代码说明优化器在模型训练中的典型应用场景。
2025-05-28 11:23:47
509
原创 2025-05-27 Python&深度学习7——损失函数和反向传播
本文介绍了三种常用损失函数的原理与应用。L1Loss(MAE)计算平均绝对误差,对异常值不敏感但收敛较慢;MSELoss(MSE)计算均方误差,惩罚大误差但易受异常值影响;CrossEntropyLoss结合Softmax和负对数似然,适用于多分类任务。每种损失函数都有不同的数学表达、参数设置和适用场景,选择取决于具体任务需求和数据特性。文中通过PyTorch代码示例展示了各损失函数的实现方法。
2025-05-27 21:40:52
942
原创 2025-05-27 Python&深度学习6——神经网络模型
本文介绍了PyTorch中神经网络模块的基本结构和使用方法。主要内容包括: nn.Module基类:作为所有神经网络模块的基类,用于组织参数和定义前向传播。必须实现forward()方法,并通过调用模型实例触发前向传播。 模型构建流程: 继承nn.Module并调用super().init() 在__init__中定义模型层和参数 实现forward()方法定义计算逻辑 卷积层:介绍了卷积操作的原理和功能,通过卷积核提取图像特征。展示了不同填充和步长设置下的卷积过程动画示例。 使用示例:提供了基础模型的定义
2025-05-27 16:33:23
762
原创 2025-05-21 Python&深度学习5——数据读取
本文介绍了在PyTorch中进行数据准备和TensorBoard可视化的基本步骤。首先,数据集被组织在dataset路径下,包含训练和测试数据。通过自定义Dataset类,实现了数据加载和标签处理,并使用ConcatDataset合并多个数据集。接着,文章详细讲解了如何使用TensorBoard进行标量和图像的可视化,包括安装、创建SummaryWriter实例、记录数据以及启动TensorBoard服务。通过这些步骤,开发者可以更好地监控训练过程并分析模型性能。
2025-05-21 11:44:19
1274
原创 Typora + PicGo + GitHub 配置图床——图片自动上传 详细教程
本文详细介绍了如何通过 GitHub 和 PicGo 实现图片的自动上传与管理。首先,用户需要在 GitHub 上创建并设置一个公开或私有的仓库,并记录仓库路径和分支。接着,生成并保存一个私人访问令牌,用于后续的图片上传操作。然后,下载并安装 PicGo 软件,并在其中配置 GitHub 图床,包括填写仓库名、分支名、Token 和存储路径。最后,通过 Typora 进行测试,确保图片能够成功上传到 GitHub 仓库。这一流程不仅简化了图片管理,还提高了文档分享的便捷性。
2025-05-20 02:59:03
1125
原创 2025-05-14 Unity 网络基础13——Protobuf
Protobuf(Protocol Buffers)是谷歌开发的开源协议生成工具,支持生成多种编程语言的代码文件,广泛应用于商业游戏开发中。本文介绍了如何在Unity中导入Protobuf及其编译器,并详细说明了Protobuf配置文件的编写规则。首先,通过官网下载Protobuf并解压,使用Visual Studio或Rider构建项目,将生成的DLL文件导入Unity。接着,下载并配置Protobuf编译器(protoc.exe)。在Unity中创建.proto文件,配置内容包括版本号、命名空间、消息类
2025-05-14 03:05:02
1562
原创 2025-05-13 Unity 网络基础12——大小端模式
大小端模式是计算机硬件存储数据的两种方式:大端模式将数据的高字节保存在内存的低地址中,而小端模式则相反。以0x11223344为例,大端模式存储为0x11 0x22 0x33 0x44,小端模式为0x44 0x33 0x22 0x11。小端模式更符合计算机处理逻辑,而大端模式更符合人类阅读习惯。实际应用中,操作系统通常采用小端模式,网络协议则使用大端模式。不同平台通信时可能出现字节序不匹配,需进行转换。C#等语言提供了判断和转换字节序的API,如BitConverter.IsLittleEndian和IPA
2025-05-13 11:48:49
441
原创 2025-05-11 Unity 网络基础11——UnityWebRequest
UnityWebRequest 是 Unity 提供的模块化系统类,用于处理 HTTP 请求和响应,替代了旧版的 WWW 类。它支持多种协议(如 HTTP、FTP、file),并允许上传文件到服务器。UnityWebRequest 将数据处理单独提取,用户可以根据需求选择合适的数据处理对象。常用操作包括获取文本、纹理、AB 包数据,以及发送 POST 和 PUT 请求。使用 UnityWebRequest 时,需配合协同程序,且默认不允许不安全的 HTTP 连接,但可通过项目设置启用。示例代码展示了如何下载
2025-05-11 12:25:25
1577
原创 2025-05-11 Unity 网络基础10——HTTP通信
HTTP(超文本传输协议)是互联网上应用最广泛的网络传输协议,最初用于传输HTML页面,现已支持多种文件类型。HTTP基于TCP通信,确保数据传输的可靠性。其工作原理包括以TCP方式工作、无状态和使用元信息作为标头。HTTP/1.1支持持久连接,允许在单个连接中发送多个请求。常见的HTTP请求方法有GET、POST、PUT、DELETE等,响应状态码则用于表示请求的处理结果,如200表示成功,404表示资源未找到。搭建HTTP服务器可使用HFS工具,通过配置端口和权限,实现文件的上传和下载。
2025-05-11 02:47:47
1256
原创 2025-05-08 Unity 网络基础9——FTP通信
FTP(文件传输协议)是用于在互联网上传输文件的协议,支持文件拷贝、登录、目录查询等功能。其工作原理基于TCP通信,需建立控制连接和数据连接。FTP支持主动和被动两种传输模式,以及ASCII和二进制两种数据传输方式。在Windows 11环境下,可以通过控制面板启用FTP服务,并使用IIS管理器配置FTP站点,包括设置IP地址、身份验证方式和授权规则。此外,还需在防火墙中允许FTP应用通过。用户可以通过指定IP地址访问FTP服务器,并可选择匿名登录或使用用户名和密码验证。常用的FTP API包括Networ
2025-05-08 23:13:55
1580
原创 2025-05-07 Unity 网络基础8——UDP同步&异步通信
创建套接字 Socket。用Bind()方法将套接字与本地地址进行绑定。用和SendTo()方法在套接字上收发消息。用Shutdown()方法释放连接。关闭套接字。
2025-05-07 21:52:50
1963
原创 2025-05-07 Unity 网络基础7——TCP异步通信
往往异步方法当中都会使用多线程执行某部分逻辑,因为不需要等待方法中逻辑执行完毕就可以继续执行下面的逻辑。 Async 方法相比于 Begin / End 方法,参数相对少一些。 Unity 中协同程序中的某些异步方法,有的使用的是多线程,有的使用的是迭代器分步执行。 在回调函数中调用,用于完成异步连接操作并返回新的客户端 Socket。接口由包含可异步作的方法的类实现,是启动异步作的方法的返回类型。方法中逻辑可能还没有执行完毕,就继续执行后面的内容。方法中逻辑执行完毕后,再继续执行后面的方法。
2025-05-07 11:15:01
1165
原创 2025-05-04 Unity 网络基础6——TCP心跳消息
在客户端主动退出时,我们会调用 socket 的ShutDown()和Close()方法,但调用这两个方法后,服务器端无法得知客户端已经主动断开。 本文主要介绍在网络通信中,如何服务端如何判断客户端断开连接。
2025-05-04 10:00:43
698
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人