以太网详解(八)传输层协议:TCP/UDP 协议
文章目录
- 传输层协议概述
- 为什么需要传输层?
- 传输层功能
- 网络层与传输层在实现 “端到端” 传输的异同
- 两类服务:面向连接/无连接服务
- 传输控制协议 TCP
- TCP 协议数据单元格式
- TCP 的重传机制
- 快重传和快恢复
- 快重传举例
- 快恢复算法
- 用户数据报协议 UDP
- UDP 概述
- UDP 基本工作过程
- UDP 用户数据报的首部(Head)格式
- TCP 与 UDP 的比较
传输层协议概述
为什么需要传输层?
- OSI网络层是通过 “逐节点”(Hop-by-Hop)实现源主机到目的主机间网络协议数据单元(Internet 中的 IP)的 “端到端” 传输的。即使网络层在节点间提供服务确认,仍不能保障 “端到端” 可靠传输(如果中间节点对收到的数据确认后,在前传前出现节点故障)。
- 网络层地址仅能标识网络设备或端系统的网络端口,不能作为标识系统内部的多个应用进程(用户平台的应用进程或信控管理平台的特殊应用进程)的标识符,因此需要应用进程传输层标识符(TSAP);在 Internet 中称为 “端口号”。
传输层功能
- 连接管理
- 流量控制
- 差错检测
- 对用户请求的响应
- 建立无连接或面向连接的通信
— 面向连接:会话建立、数据传输、会话拆除
— 无连接:不保证数据的有序到达
网络层与传输层在实现 “端到端” 传输的异同
- 网络层(主机间):通过通信子网中中继系统逐级转发实现的 “源”、“目的” 主机间物理上的 “端到端” 的用户数据的传输。但网络层协议通常只定义节点间的转发过程,因此网络层协议执行过程不是 “端到端” 直接通信,而是 “逐级”(Hop-by-Hop)转发实现的物理上的端到端通信。
- 传输层(应用进程间):由于用户数据在通信子网的用户数据平台上没有传输层实体,因此,应用进程利用传输层实现进程间的传输只是概念上/逻辑上的 “端到端” 的 “直接传输”。物理上仍然利用网络层逐级实现的端到端服务。
两类服务:面向连接/无连接服务
- 提供面向连接服务的协议:TCP (Transmission Control Protocol) - RFC 973
- 提供无连接服务的协议:UDP (UserDatagram Protocol) - RFC 768
传输控制协议 TCP
客户(主动请求) / 服务器(被动响应)工作模式:
建立连接:通过三次握手方式建立连接。
数据传输
- 基本数据传输:能连续、双向传输字节流。
- 提供敦促接收方迅速将收到的数据提交应用进程的功能(PUSH)。
- 可靠性:数据损坏、丢失、重复和错序必须能恢复(机制:以字节为基础的序号、正确接收确认(ACK)、重传时钟、检错)。
- 流量控制:窗口可变的 “滑动窗口” 流控方式,窗口大小以 “字节” 为基础。
连接拆除
请求拆除、两次拆除确认等待、请求方在确认的方式。
TCP 协议数据单元格式
源端口和目的端口字段
各占 2 字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。
序号字段
占 4 字节。TCP 连接中传输的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
确认号字段
占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移
占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移” 的单位不是字节而是 32 bit 字(4 字节为计算单位)。
保留字段
占 6 bit,保留为今后使用,但目前应置为 0。
紧急比特 URG
当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传输(相当于高优先级的数据)。
确认比特 ACK
只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。
推送比特 PSH(PuSH)
接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。
复位比特 RST(ReSeT)
当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立传输连接。
同步比特 SYN
同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。
终止比特 FIN(FINal)
用来释放一个连接。当 FIN = 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。
窗口字段
占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。
检验和
占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。
紧急指针字段
占 16 bit。紧急指针指出:在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。
选项字段
长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节”。MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。
填充字段
这是为了使整个首部长度是 4 字节的整数倍。
TCP 的重传机制
重传机制是 TCP 中最重要和最复杂的问题之一。
TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。
快重传和快恢复
快重传算法规定,发送端只要一连收到三个重复的 ACK 即可断定有分组丢失了,就应立即重传丢失的报文段而不必继续等待为该报文段设置的重传计时器的超时。
不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。
快重传举例
快恢复算法
- 当发送端收到连续三个重复的 ACK 时,就重新设置慢开始门限 ssthresh。
- 与慢开始不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为 ssthresh + 3 x MSS。
- 若收到的重复的 ACK 为 n 个(n>3),则将 cwnd 设置为 ssthresh + n x MSS。
- 若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。
- 若收到了确认新的报文段的 ACK,就将 cwnd 缩小到 ssthresh。
用户数据报协议 UDP
UDP 概述
UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。
虽然 UDP 用户数据报只能提供不可靠的交付,但 UDP 在某些方面有其特殊的优点。
- 发送数据之前不需要建立连接。
- UDP 的主机不需要维持复杂的连接状态表。
- UDP 用户数据报只有 8 个字节的首部开销。
- 网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。
UDP 基本工作过程
UDP 数据报的发送和接收通过 UDP 端口实现
端口是一个可读写的结构,具有内部的报文缓冲区;
数据报发送
UDP 软件将用户数据封装在 UDP 数据报中;
转交给 IP 软件,进行 IP 封装和转发;
数据报的接收
IP 层接收到 UDP 数据报, 提交给 UDP 软件的各端口;
端口判断该报文的目的端口号是否与当前端口匹配;
若匹配成功,将该数据报保存到相应端口的接收队列中;(若队列已满,则丢弃该数据报)
若未匹配,则丢弃该数据报,同时向源端发送 “端口不可达” 的 ICMP 包。
UDP 用户数据报的首部(Head)格式
TCP 与 UDP 的比较
- TCP 提供可靠的,面向连接的传输服务
- UDP 提供不可靠的,无连接的传输服务
- TCP 是面向流的协议;UDP 是基于数据报的协议
- TCP 适用于一次传送大批量的数据
- UDP 适用于多次少量数据的传输,实时性要求高的业务
- 使用 TCP 传输的应用程序和协议包括:
FTP
Telnet
ΗΤΤΡ - 使用 UDP 传输的应用程序和协议包括:
RIP
TFTP
SNMP
相关文章:
以太网详解(八)传输层协议:TCP/UDP 协议
文章目录 传输层协议概述为什么需要传输层?传输层功能网络层与传输层在实现 “端到端” 传输的异同两类服务:面向连接/无连接服务 传输控制协议 TCPTCP 协议数据单元格式TCP 的重传机制快重传和快恢复快重传举例快恢复算法 用户数据报协议 UDPUDP 概述UDP 基本工作过…...
CentOS 8 配置bond
CentOS 8 网络配置的详细步骤和对应的配置文件内容。 1. 配置聚合网卡(Bonding) 配置intranet聚合网卡 在/etc/sysconfig/network-scripts/目录下创建ifcfg-intranet文件,内容如下: TYPE=Bond NAME=intranet DEVICE=intranet ONBOOT=yes BOOTPROTO=none IPADDR=10.2.1.22…...
C语言基础16:二维数组、字符数组
二维数组 定义 二维数组本质上是一个行列式的组合,也就是说二维数组由行和列两部分组成。属于多维数组,二维数组数据是通过行列进行解读。 二维数组可被视为一个特殊的一维数组,相当于二维数组又是一个一维数组,只不过它的元素…...
Java 同步锁性能的最佳实践:从理论到实践的完整指南
目录 一、同步锁性能分析 (一)性能验证说明 1. 使用同步锁的代码示例 2. 不使用同步锁的代码示例 3. 结果与讨论 (二)案例初步优化分析说明 1. 使用AtomicInteger原子类尝试优化分析 2. 对AtomicInteger原子类进一步优化 …...
思科、华为、H3C常用命令对照表
取消/关闭 思科no华为undo华三undo 查看 思科show华为display华三display 退出 思科exit华为quit华三quit 设备命名 思科hostname华为sysname华三sysname 进入全局模式 思科enable、config terminal华为system-view华三system-view 删除文件 思科delete华为delete华…...
[qt5学习笔记]Application Example示例程序源码解析
开发环境问题 vs2022下直接打开ui、ts文件失败 解决办法如下图, 设置designer独立运行。估计是嵌入运行存在些许bug。 同理,ts编辑工具linguist也存在这个问题。 qrc rc的编辑嵌入编辑都正常,但分离式更稳定可靠。 qt creator编译失败 原…...
华为交换机堆叠技术简介配置
目录 一、华为堆叠技术简介(一)提高可靠性(二)扩展端口数量(三)增大带宽(四)简化组网(五)长距离堆叠 二、华为交换机堆叠技术的案例及命令配置(一…...
腿足机器人之四- 卡尔曼滤波
腿足机器人之四卡尔曼滤波 概率学基础贝叶斯准则熵 卡尔曼滤波扩展卡尔曼滤波信息滤波器 在机器人(四足、人形)领域,感知和行动的不确定性可能由多种因素引起,如传感器噪声、外部环境的变化、非精确控制以及实时性算力限制等。 和…...
nginx 部署前端vue项目
👨⚕ 主页: gis分享者 👨⚕ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕ 收录于专栏:前端工程师 文章目录 一、🍓什么是nginx?二、🍓nginx 部署…...
【第1章:深度学习概览——1.6 深度学习框架简介与选择建议】
嘿,各位老铁们,今天咱们来一场深度学习框架的深度探索之旅。在这个充满无限可能的深度学习时代,深度学习框架就像是连接理论与实践的桥梁,帮助我们从算法设计走向实际应用。随着技术的飞速发展,深度学习框架的选择变得越来越多样化,每一种框架都有其独特的优势和适用场景…...
NLLB 与 ChatGPT 双向优化:探索翻译模型与语言模型在小语种应用的融合策略
作者:来自 vivo 互联网算法团队- Huang Minghui 本文探讨了 NLLB 翻译模型与 ChatGPT 在小语种应用中的双向优化策略。首先介绍了 NLLB-200 的背景、数据、分词器和模型,以及其与 LLM(Large Language Model)的异同和协同关系。接着…...
C#的委托delegate与事件event
在C#中,delegate(委托)和 event(事件)是两个非常重要的概念,它们主要用于实现回调机制和事件驱动编程。下面详细介绍它们的原理和使用场景。 1. Delegate(委托) 1.1 委托的原理 委托…...
Spring Boot 集成MyBatis-Plus
文章目录 一、背景说明二、集成过程 2.1 引入 maven 依赖2.2 增加属性配置2.3 自动配置类 三、验证集成 3.1 控制器3.2 服务类3.3 Mapper接口类3.4 实体类3.4 不要忘记XML文件3.5 发起请求 四、技巧拓展 4.1 如何打印sql语句?4.2 如何对参数增加非空验证?…...
javacv将视频切分为m3u8视频并播放
学习链接 ffmpeg-demo 当前对应的 gitee代码 Spring boot视频播放(解决MP4大文件无法播放),整合ffmpeg,用m3u8切片播放。 springboot 通过javaCV 实现mp4转m3u8 上传oss 如何保护会员或付费视频?优酷是怎么做的? - HLS 流媒体加密 ffmpe…...
Docker 入门与实战:从安装到容器管理的完整指南
🚀 Docker 入门与实战:从安装到容器管理的完整指南 🌟 📖 简介 在现代软件开发中,容器化技术已经成为不可或缺的一部分。而 Docker 作为容器化领域的领头羊,以其轻量级、高效和跨平台的特性,深…...
计算机视觉:卷积神经网络(CNN)基本概念(二)
第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络 接上一篇《计算机视觉&am…...
SQL SERVER的PARTITION BY应用场景
SQL SERVER的PARTITION BY关键字说明介绍 PARTITION BY关键字介绍具体使用场景排名计算累计求和分组求最值分组内百分比计算分组内移动平均计算分组内数据分布统计分组内数据偏移计算 总结 PARTITION BY关键字介绍 在SQL SERVER中,关键字PARTITION BY主要用于窗口函…...
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十二节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(TesterPresent_0x3E服务) 作者:车端域控测试工程师 更新日期:2025年02月14日 关键词:UDS协议、0x3E服务、会话保持、ISO 14229-1:2023、ECU测试 一、服务功能概述 0x3E服…...
gsoap实现webservice服务
gsoap实现webservice服务 在实现Web服务时,使用gSOAP是一个很好的选择,因为它提供了强大的工具和库来创建SOAP和RESTful服务。gSOAP是一个C和C语言开发的库,它支持SOAP协议的各种版本,包括SOAP 1.1和SOAP 1.2。下面是如何使用gSO…...
达梦:dmserver占用io高排查
目录标题 1. 使用达梦数据库的性能视图查询当前活动会话查询执行时间较长的 SQL 2. 使用 DM 性能监视工具3. 使用操作系统工具监控 I/Oiostat 工具dstat 工具 4. 优化查询和索引审查 SQL 执行计划优化索引 5. 调整数据库参数6. 分析数据库日志7. 硬件和存储检查总结 针对达梦数…...
MoE架构中的专家选择门控机制:稀疏激活如何实现百倍效率突破?
技术原理(数学公式与核心逻辑) 核心公式 门控网络输出: G ( x ) Softmax ( W g ⋅ x b g ) G(x) \text{Softmax}(W_g \cdot x b_g) G(x)Softmax(Wg⋅xbg) 最终输出: y ∑ i 1 n G i ( x ) ⋅ E i ( x ) (仅保留Top-…...
用python写一个聊天室程序
下面是一个简单的基于Socket的Python聊天室程序示例,包括服务器端和客户端: 服务器端代码: import socket import threadingdef handle_client(client, address):print(f"New connection from {address}")while True:msg client…...
七星棋牌全开源修复版源码解析:6端兼容,200种玩法全面支持
本篇文章将详细讲解 七星棋牌修复版源码 的 技术架构、功能实现、二次开发思路、搭建教程 等内容,助您快速掌握该棋牌系统的开发技巧。 1. 七星棋牌源码概述 七星棋牌修复版源码是一款高度自由的 开源棋牌项目,该版本修复了原版中的多个 系统漏洞&#…...
Vulhub靶机 ActiveMQ任意 文件写入(CVE-2016-3088)(渗透测试详解)
一、开启vulhub环境 docker-compose up -d 启动 docker ps 查看开放的端口 漏洞版本:ActiveMQ在5.14.0之前的版本(不包括5.14.0) 二、访问靶机IP 8161端口 默认账户密码都是admin 1、利用bp抓包,修改为PUT方法并在fileserver…...
Cloud: aws:network: limit 含有pps这种限制
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshooting-ena.html#statistics-ena 这个是调查网络问题的一个网页; 在里面,竟然含有pps这种限制:ethtool -S;其实是比较苛刻的安全相关的策略? [ec2-user ~]$ ethtool -S ethN NIC statistics:tx_timeout: …...
28、深度学习-自学之路-NLP自然语言处理-做一个完形填空,让机器学习更多的内容程序展示
import sys,random,math from collections import Counter import numpy as npnp.random.seed(1) random.seed(1) f open(reviews.txt) raw_reviews f.readlines() f.close()tokens list(map(lambda x:(x.split(" ")),raw_reviews))#wordcnt Counter() 这行代码的…...
观察者模式说明(C语言版本)
观察者模式主要是为了实现一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。下面使用C语言实现了一个具体的应用示例,有需要的可以参考…...
LC-搜索二维矩阵II、相交链表、反转链表、回文链表、环形链表、环形链表ll
搜索二维矩阵II 方法:从右上角开始搜索 我们可以从矩阵的右上角开始进行搜索。如果当前元素 matrix[i][j] 等于 target,我们直接返回 true。如果 matrix[i][j] 大于 target,说明 target 只能出现在左边的列,所以我们将列指针向左…...
如何查看 Linux 服务器的 MAC 地址:深入解析与实践指南
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
国产FPGA开发板选择
FPGA开发板是学习和开发FPGA的重要工具,选择合适的开发板对学习效果和开发效率至关重要。随着国产FPGA的发展,淘宝上的许多FPGA开发板店铺也开始进行国产FPGA的设计和销售,本文将对国产FPGA和相关店铺做个简单梳理,帮助有需要使用…...
iOS 获取设备占用内存
获取应用占用内存 获取应用进程占用内存 - (NSUInteger)memoryUsage {task_vm_info_data_t vmInfo;mach_msg_type_number_t count TASK_VM_INFO_COUNT;kern_return_t result task_info(mach_task_self(), TASK_VM_INFO, (task_info_t)&vmInfo, &count);if (result …...
用自己的数据训练yolov11目标检测
文章目录 概要理论知识整体架构流程架构优化多任务支持多参数体量 操作实操环境配置数据准备数据标注数据放置路径 训练预测 概要 官网:https://github.com/ultralytics/ultralytics?tabreadme-ov-file 提示:以 停车场空位检测 公开数据集示例&#x…...
golang如何将结构体和函数进行绑定?
在Go语言中,结构体和函数的绑定通常通过方法(method)来实现。方法是一种特殊的函数,它与某个类型关联,特别是结构体类型。下面是如何将结构体和函数进行绑定的具体步骤: 定义结构体:首先需要定义…...
【苍穹外卖】学习
软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从 软件开发流程、角色…...
架构——LVS负载均衡主要模式及其原理、服务水平、优缺点
LVS(Linux Virtual Server)是一款高性能的开源负载均衡软件,支持多种负载均衡模式。以下是其主要模式及其原理、服务水平、优缺点: 1. NAT 模式(Network Address Translation) 原理: 请求流程…...
DFS算法篇:理解递归,熟悉递归,成为递归
1.DFS原理 那么dfs就是大家熟知的一个深度优先搜索,那么听起来很高大尚的一个名字,但是实际上dfs的本质就是一个递归,而且是一个带路径的递归,那么递归大家一定很熟悉了,大学c语言课程里面就介绍过递归,我…...
让编程变成一种享受-明基RD320U显示器
引言 作为一名有着多年JAVA开发经验的从业者,在工作过程中,显示器的重要性不言而喻。它不仅是我们与代码交互的窗口,更是影响工作效率和体验的关键因素。在多年的编程生涯中,我遇到过各种各样的问题。比如,在进行代码…...
C语言简单练习题
文章目录 练习题一、计算n的阶乘bool类型 二、计算1!2!3!...10!三、计算数组arr中的元素个数二分法查找 四、动态打印字符Sleep()ms延时函数system("cls")清屏函数 五、模拟用户登录strcmp()函数 六、猜数字小游戏产生一个随机数randsrandRAND_MAX时间戳time() 示例 …...
基于Python的深度学习音乐推荐系统(有配套论文)
音乐推荐系统 提供实时音乐推荐功能,根据用户行为和偏好动态调整推荐内容 Python、Django、深度学习、卷积神经网络 、算法 数据库:MySQL 系统包含角色:管理员、用户 管理员功能:用户管理、系统设置、音乐管理、音乐推荐管理、系…...
Java:单例模式(Singleton Pattern)及实现方式
一、单例模式的概念 单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问该实例,是 Java 中最简单的设计模式之一。该模式常用于需要全局唯一实例的场景,例如日志记录器、配置管理、线程池、数据库…...
解锁养生秘籍,拥抱健康生活
在这个快节奏的时代,人们行色匆匆,常常在忙碌中忽略了健康。其实,养生并非遥不可及,它就藏在生活的细微之处,等待我们去发现和实践。 规律作息是健康的基础。日出而作,日落而息,顺应自然规律&am…...
数据结构之堆(Heap)
数据结构之堆(Heap) 数据结构之堆(Heap)一、堆的核心概念1. 定义与性质2. 存储方式 二、核心操作与算法1. 操作复杂度概览2. 关键操作详解(1) 向上调整(Sift Up)(2) 向下调整(Sift Down…...
人工智能 - 机器学习、深度学习、强化学习是人工智能领域的理论基础和方法论
机器学习、深度学习、强化学习是人工智能领域的三大核心方向,各自具有独特的理论基础和方法论。以下是它们的核心理论知识总结: 一、机器学习(Machine Learning, ML) 1. 基础概念 目标:通过数据驱动的方式,让机器从经验中学习规律,完成预测、分类或决策任务。 核心范式…...
github上文件过大无法推送问题
GitHub 对文件大小有限制,超过 100 MB 的文件无法直接推送到仓库中。 解决思路: 使用 Git Large File Storage (Git LFS) 来管理大文件不上传对应的大文件 使用Git LFS: 1. 安装 Git LFS 首先,你需要安装 Git LFS。可以按照以…...
Elasticsearch:将 Ollama 与推理 API 结合使用
作者:来自 Elastic Jeffrey Rengifo Ollama API 与 OpenAI API 兼容,因此将 Ollama 与 Elasticsearch 集成非常容易。 在本文中,我们将学习如何使用 Ollama 将本地模型连接到 Elasticsearch 推理模型,然后使用 Playground 向文档提…...
【Linux】详谈 进程控制
目录 一、进程是什么 二、task_struct 三、查看进程 四、创建进程 4.1 fork函数的认识 4.2 2. fork函数的返回值 五、进程终止 5.1. 进程退出的场景 5.2. 进程常见的退出方法 5.2.1 从main返回 5.2.1.1 错误码 5.2.2 exit函数 5.2.3 _exit函数 5.2.4 缓冲区问题补…...
构建高效智能对话前端:基于Ant Design X 的deepseek对话应用
文章目录 实现的效果前言Ant Design X添加欢迎组件创建对话气泡存储对话历史渲染对话气泡 输入组件WebSocket 连接总结 实现的效果 待机页面: 等待页面: 完成页面: 前言 随着人工智能技术的飞速发展,大模型对话系统已成为…...
WordPress“更新失败,响应不是有效的JSON响应”问题的修复
在使用WordPress搭建网站时,许多人在编辑或更新文章时,可能会遇到一个提示框,显示“更新失败,响应不是有效的JSON响应”。这个提示信息对于不了解技术细节的用户来说,太难懂。其实,这个问题并不复杂&#x…...
华为交换机trunk简介配置
目录 一、Trunk 口简介二、Trunk 口配置案例及命令(一)组网需求(二)配置步骤(三)验证配置 三、注意事项 一、Trunk 口简介 Trunk 口是交换机中一种重要的端口类型,主要用于连接交换机与交换机、…...
DeepSeek从入门到精通(清华大学)
DeepSeek是一款融合自然语言处理与深度学习技术的全能型AI助手,具备知识问答、数据分析、编程辅助、创意生成等多项核心能力。作为多模态智能系统,它不仅支持文本交互,还可处理文件、图像、代码等多种格式输入,其知识库更新至2…...