当前位置: 首页 > news >正文

SOME/IP-SD -- 协议英文原文讲解5

前言
SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块:

1. SOME/IP协议讲解

2. SOME/IP-SD协议讲解

3. python/C++举例调试讲解


5.1.2.5 Service Entries
find/offer/stop offer Entries 讲解

注:find/offer/stop offer Entries 发出的报文只提供服务ID信息 说明哪个服务可以被订阅,但不提供事件组 即显示哪些事件组可以被订阅 -- 隐藏起来了。所以client订阅时要参照客户发出的矩阵表订阅。

5.1.2.5.1 Find Service Entry
find报文entry

[PRS_SOMEIPSD_00350]
Upstream requirements: RS_SOMEIPSD_00008, RS_SOMEIPSD_00021
The Find Service entry type shall be used for finding service instances and shall
only be sent if the current state of a service is unknown (no current Service Offer was
received and is still valid).
find报文是在没有offer的情况下发出的,否则不能发送find报文了

[PRS_SOMEIPSD_00351]
Upstream requirements: RS_SOMEIPSD_00008, RS_SOMEIPSD_00021
Find Service entries shall set the entry fields in the following way:
• Type shall be set to 0x00 (FindService). -- 固定值
• Service ID shall be set to the Service ID of the service that shall be found.
• Instance ID shall be set to 0xFFFF, if all service instances shall be returned. It
shall be set to the Instance ID of a specific service instance, if just a single service
instance shall be returned.
0xFFFF 找所有的Instance 或是找指定的Instance 前面文章有讲

• Major Version shall be set to 0xFF, that means that services with any version shall
be returned. If set to value different than 0xFF, services with this specific major
version shall be returned only.
匹配所有的主版本号,则设置为0xff,否则设置为需要的版本号

• Minor Version shall be set to 0xFFFF FFFF, that means that services with any
version shall be returned. If set to a value different to 0xFFFF FFFF, services
with this specific minor version shall be returned only.
道理同 上面主版本号,只不过是值大了些

• TTL is not used for FindService entries and can be set to an arbitrary value.The
field is only defined for backward compatibility, and the value shall be ignored by
the receiver of the message.
对于 find报文来说 TTL不用设置 ,接收端应该忽略此值。一般设置为0 就行。

Note: It is expected that the Major Version on client side is configured to a specific
value in normal operation since the client should look for an specific interface version.
Different Major Versions are not compatible to each other.
[PRS_SOMEIPSD_00528]
Upstream requirements: RS_SOMEIPSD_00008, RS_SOMEIPSD_00025
A sender shall not reference Endpoint Options nor Multicast Options in a Find Service
Entry.
find报文不用设置 单播、多播 选项,如果有 接收端应该忽略。
其它选项可以配置

[PRS_SOMEIPSD_00529]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
A receiver shall ignore Endpoint Options and Multicast Options in a Find Service
Entry.
[PRS_SOMEIPSD_00530]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
Other Options (neither Endpoint nor Multicast Options), shall still be allowed to be
used in a Find Service Entry.
[PRS_SOMEIPSD_00825]
Upstream requirements: RS_SOMEIPSD_00008, RS_SOMEIPSD_00013
When receiving a FindService Entry the Service ID, Instance ID, Major Version, and
Minor Version shall match exactly to the configured values to identify a Service Instance, except if "any values" are in the Entry (i.e. 0xFFFF for Service ID, 0xFFFF for
Instance ID, 0xFF for Major Version, and 0xFFFFFFFF for Minor Version.)
接收端接收到 find报文,对于entry中的配置项 如果是指定的值 应该精确匹配 成功后再回复offer,否则是通配值 的话就算了

[PRS_SOMEIPSD_00839]
Upstream requirements: RS_SOMEIPSD_00008, RS_SOMEIPSD_00013
If a FindService Entry is received within the Initial Wait Phase for this Server Service
Instance, it shall be ignored.
初始化阶段 收到find 应该忽略 不用先解析 等到初始化完成给回复

5.1.2.5.2 Offer Service Entry

[PRS_SOMEIPSD_00355]
Upstream requirements: RS_SOMEIPSD_00013
The Offer Service entry type shall be used to offer a service to other communication
partners.
[PRS_SOMEIPSD_00356] -- 以下为格式定义 容易理解
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
Offer Service entries shall set the entry fields in the following way:
• Type shall be set to 0x01 (OfferService).
• Service ID shall be set to the Service ID of the service instance offered.
• Instance ID shall be set to the Instance ID of the service instance that is offered.
• Major Version shall be set to the Major Version of the service instance that is
offered.
• Minor Version shall be set to the Minor Version of the service instance that is
offered.
• TTL shall be set to the lifetime of the service instance. After this lifetime the
service instance shall considered not been offered.
offer的有效期 超过后 服务会失效。
• If TTL is set to 0xFFFFFF, the Offer Service entry shall be considered valid until
the next reboot. 长期有效
• If CYCLIC_OFFER_DELAY is defined, TTL shall be greater or equal to the value
for CYCLIC_OFFER_DELAY. 客户指定这个值 则应设置 >=这个值
• TTL shall not be set to 0x000000 since this is considered to be the Stop Offer
Service Entry. 设置为0 表示stop offer 所有offer中不能设置为0.

[PRS_SOMEIPSD_00357]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
Offer Service entries shall always reference either an IPv4 or IPv6 Endpoint Option to
signal how the service is reachable.
offer应该携带IPv4或IPv6选项 表示服务的发出方式 和 源地址源Port
[PRS_SOMEIPSD_00358]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
For each Transport Layer Protocol needed for the service (i.e. UDP and/or TCP) an
IPv4 Endpoint option shall be added if IPv4 is supported.
[PRS_SOMEIPSD_00359]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
For each Transport Layer Protocol needed for the service (i.e. UDP and/or TCP) an
IPv6 Endpoint option shall be added if IPv6 is supported.

[PRS_SOMEIPSD_00826]
Upstream requirements: RS_SOMEIPSD_00012, RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
When receiving the initial OfferService Entry the Service ID, Instance ID, Major Version and Minor Version shall match exactly to the configured values to identify a Service Instance, except if "any values" are in the service configuration (i.e. 0xFFFF for
Instance ID and 0xFFFFFFFF for Minor Version.)
[PRS_SOMEIPSD_00827]
Upstream requirements: RS_SOMEIPSD_00012, RS_SOMEIPSD_00013, RS_SOMEIPSD_-
00025
When receiving a subsequent OfferService Entry or a StopOfferService Entry the
Service ID, Instance ID, Major Version shall match exactly to the values in the initial
OfferService entry to identify a Service Instance.
在收到offer/stopoffer时 要精确匹配Service ID, Instance ID, Major Version 检查是否是自己需要订阅的

注意:sub /suback/ subnack entry 在5.1.3.1章节讲解

5.1.2.5.3 Stop Offer Service Entry

[PRS_SOMEIPSD_00363]
Upstream requirements: RS_SOMEIPSD_00014
The Stop Offer Service entry type shall be used to stop offering service instances.
[PRS_SOMEIPSD_00364]
Upstream requirements: RS_SOMEIPSD_00014
dStop Offer Service entries shall set the entry fields exactly like the Offer Service entry
they are stopping, except:
• TTL shall be set to 0x000000. -- 和offer报文基本一致除了要改TTL为0x000000

[PRS_SOMEIPSD_00840]
Upstream requirements: RS_SOMEIPSD_00014
A StopOfferService (type 0x01), shall carry, i.e. reference, the same options as the
entries trying to stop.


5.1.2.5.4 Usage of Options in Entries 不同类型entries 携带 options数量说明

5.1.2.6 Endpoint Handling for Services and Events -- 针对offer报文的讲解

[PRS_SOMEIPSD_00476]
Upstream requirements: RS_SOMEIPSD_00025
The Service Discovery shall overwrite IP Addresses and Port Numbers with those
transported in Endpoint and Multicast Options if the statically configured values are
different from those in these options.
Note: In other words if a mix of a static and dynamic configuration exists (static configuration that defines the communication endpoints exists and at the same time endpoint
options are exchanged via SD messages at runtime) and the endpoint options in the
static configuration are different from the endpoint options received via SD then the
endpoints options received over SD take precedence over the preconfigured endpoint
options.
SD报文中的IP和PORT 如果和静态配置不一致 则优先动态报文中的 ,并覆盖静态配置
其它 选项 也是优先 动态 覆盖静态

[PRS_SOMEIPSD_00360]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
The IP addresses and port numbers of the Endpoint Options shall also be used for
transporting events and notification events.
端点选项的ip /port用来 传输 事件、通知。

[PRS_SOMEIPSD_00361]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
In case of UDP the endpoint option shall be used for the source address and the
source port of the events and notification events, it is also the address the client can
send method requests to.
offer报文中 UDP 端点选项的ip /port用来 传输 事件、通知。同时client也可通过这个IP、PORT请求method
[PRS_SOMEIPSD_00362]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
In case of TCP the endpoint option shall be used for the IP address and port the client
needs to open a TCP connection in order to receive events using TCP.
接收TCP的事件时 要先 tcp握手建链

[PRS_SOMEIPSD_00801]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
SOME/IP shall allow services to use UDP and TCP at the same time.
同一个服务 可以同时使用TCP和UDP

[PRS_SOMEIPSD_00802]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
Which message is sent by which underlying transport protocol shall be determined by
configuration: A Service can use UDP and TCP endpoints at the same time. But per
element of the service it shall to be configured whether TCP or UDP is used.
Note: It needs to be restricted in the configuration which methods and which events
are provided over TCP/UDP. This also means that the same event can not be provided
over TCP and UDP.
虽然可以同时使用TCP和UDP,但是对于具体的event/method/field 只能用一种 不能同时支持。

5.1.2.6.1 Service Endpoints offer报文中 服务端点的讲解

The referenced Endpoint Options of the Offer Service entries denotes the
• IP Address and Port Numbers the service instance is reachable at the server.
• IP Address and Port Numbers the service instance sends the events from.
offfer中的 端点选项中IP、PORT 是可以被访问的 且是用来发送events的,
注:如果这个报文没有events 就不用发送offer

[PRS_SOMEIPSD_00480]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
Events of this service instance shall not be sent from any other Endpoints than those
given in the Endpoint Options of the Offer Service entries.
事件不能通过除了选项中描述的IP、PORT之外的地址发送。

[PRS_SOMEIPSD_00481]
Upstream requirements: RS_SOMEIPSD_00013, RS_SOMEIPSD_00025
If an ECU offers multiple service instances, SOME/IP messages of these service
instances shall be differentiated by the information transported in the Endpoint Options
referenced by the Offer Service entries.
就算是同一服务的不同instance 在同一个ECU中,端点的IP、PORT也必须不一样。

5.1.2.6.2 Eventgroup Endpoints

[PRS_SOMEIPSD_00484]
Upstream requirements: RS_SOMEIPSD_00015, RS_SOMEIPSD_00025
The Endpoint Options referenced in the Subscribe Eventgroup entries shall also be
used to send unicast UDP or TCP SOME/IP events for this Service Instance.
Thus the Endpoint Options referenced in the Subscribe Eventgroup entries are the IP
Address and the Port Numbers on the client side.

client发送订阅包时,订阅entry对应的Option中的ip/port 是client的,用以发送udp单播或TCP的events

[PRS_SOMEIPSD_00486]
Upstream requirements: RS_SOMEIPSD_00015, RS_SOMEIPSD_00025
TCP events are transported using the TCP connection the client has opened to the
server before sending the Subscribe Eventgroup entry.

如果被订阅的事件是TCP协议类型,则client在发送订阅之前 要先完成TCP的握手建链过程。

[PRS_SOMEIPSD_00487]
Upstream requirements: RS_SOMEIPSD_00015, RS_SOMEIPSD_00025
The initial value of field notifiers (i.e., fields and not pure events) shall be transported
using unicast from Server to Client.
field notifiers 的别订阅后的首次通知 要通过单播、TCP形式发送(单对单)
因为有可能有多个client订阅 如果广播通知的话 会让已经订阅的client端多次收到

[PRS_SOMEIPSD_00488]
Upstream requirements: RS_SOMEIPSD_00015, RS_SOMEIPSD_00025
Subscribe Eventgroup Ack entries shall reference up to 1 Multicast Option for the
Internet Protocol used (IPv4 or IPv6).
suback报文中的 最多只能包含一条 多播option(ipv4/ipv6)

[PRS_SOMEIPSD_00489]
Upstream requirements: RS_SOMEIPSD_00015, RS_SOMEIPSD_00025
The Multicast Option shall be set to UDP as transport protocol.
多播用于UDP -- 前面已经讲过了

[PRS_SOMEIPSD_00490]
Upstream requirements: RS_SOMEIPSD_00015, RS_SOMEIPSD_00025
The client shall open the Endpoint specified in the Multicast Option referenced by the
Subscribe Eventgroup Ack entry as fast as possible to not miss multicast events.
Example: Figure 5.15 shows an example with the different Endpoint and a Multicast
client收到订阅回复中有携带了server events的多播地址时,要尽快配置加入到这个组播中,否则有可能错过组播的事件

Option:
• The Server offers the Service Instance on Server UDP-Endpoint SU and Server
TCP-Endpoint ST
    服务端 offer 提供服务 option中有UDP 也有TCP
• The Client opens a TCP connection client 发起并完成tcp连接
• The Client sends a Subscribe Eventgroup entry with Client UDP-Endpoint CU
(unicast) and a Client TCP-Endpoint CT. client发送订阅报文 携带client的UDP单播 IP+PORT 以及 TCP IP+PORT
• The Server answers with a Subscribe Eventgroup Ack entry with Multicast MU
    服务端单播回复 client 订阅ack 包 ,并携带一个server的组播地址(有的事件要通过组播发送)
Then the following operations happen: 可能会有下面的交互情况
• The Client calls a method on the Server 
  client向server请求method(使用UDP协议 -- 因为假设矩阵中这个Method配置UDP协议)
  
• Request is sent from CU to SU and Response from SU to CU
    server用UDP单播回复
• For TCP this would be: Request dyn to ST and RESPONSE from ST to CT
    也有可能client向server请求TCP协议的method, server通过TCP 回复
• The Server sends a Unicast UDP Event: SU to CU
    server发送UDP单播事件
• The Server sends a Unicast TCP Event: ST to CT
    server发送TCP事件
• The Server sends a Multicast UDP Event: SU to MU
    server发送UDP广播事件
Keep in mind that Multicast Endpoints use a Multicast IP Address on the receiver side,
i.e. the client, and TCP cannot be used for Multicast communication.
    client端配置加入组播 但不能用组播主动发送消息。

注:30490端口号 是协议建议的SOME/IP组播端口号 

相关文章:

SOME/IP-SD -- 协议英文原文讲解5

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.5 S…...

spark的一些指令

一,复制和移动 1、复制文件 格式:cp 源文件 目标文件 示例:把file1.txt 复制一份得到file2.txt 。那么对应的命令就是:cp file1.txt file2.txt 2、复制目录 格式:cp -r 源文件 目标文件夹 示例:把目…...

Redis常用数据类型及其应用案例

文章目录 Redis常用数据类型及其应用案例1. 字符串(String)1.1 简介1.2 应用案例1.2.1 缓存1.2.2 计数器 2. 哈希(Hash)2.1 简介2.2 应用案例2.2.1 存储用户信息2.2.2 购物车 3. 列表(List)3.1 简介3.2 应用…...

kafka数据拉取和发送

文章目录 一、原生 KafkaConsumer1、pom文件引入kafka2、拉取数据3、发送数据二、在spring boot中使用@KafkaListener1、添加依赖2、application.yml3、消息拉取:consumer4、自定义ListenerContainerFactory5、消息发送:producer6、kafka通过clientId鉴权时的鉴权失败问题一、…...

LLM全栈框架完整分类清单(预训练+微调+工具链)

一、预训练框架 1. 大规模分布式训练框架 框架名称核心能力GitHub地址Megatron-LM3D并行训练、FlashAttention支持、Transformer架构优化(NVIDIA生态)NVIDIA/Megatron-LMDeepSpeedZeRO优化系列、3D并行、RLHF全流程支持(微软生态&#xff09…...

蓝桥杯备考:贪心算法之矩阵消除游戏

这道题是牛客上的一道题,它呢和我们之前的排座位游戏非常之相似,但是,排座位问题选择行和列是不会改变元素的值的,这道题呢每每选一行都会把这行或者这列清零,所以我们的策略就是先用二进制把选择所有行的情况全部枚举…...

【Matlab仿真】Matlab Function中如何使用静态变量?

背景 根据Simulink的运行机制,每个采样点会调用一次MATLAB Function的函数,两次调用之间,同一个变量的前次计算的终值如何传递到当前计算周期来?其实可以使用persistent变量实现函数退出和进入时内部变量值的保持。 persistent变…...

DeepSeek 提示词:高效的提示词设计

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...

深入学习Java中的Lambda表达式

深入学习Java中的Lambda表达式 自Java 8引入以来,Lambda表达式彻底改变了Java的编程风格,让代码变得更加简洁、易读,尤其是在函数式编程的场景中。接下来,我们将深入探讨Lambda表达式的语法、原理以及实际应用,帮助你…...

1.2 AI 量化炒股的起源与发展

**定性价值**:AI量化炒股通过算法模型实现投资决策自动化,显著提升交易效率与风险控制能力,打破传统人工交易的主观性与延迟性,推动金融科技向智能化、数据驱动方向迭代,具有颠覆传统投资模式的战略意义。 **定量价值…...

计算机单位之详解——存储单位Byte 网络传输单位bps 视频码率单位bps

前言: 计算机里面单位有点复杂,容易混淆,很多时候混起来就容易概念不理解,包括一些小问题,比如说:为什么我买了1T硬盘,实际存在虚标。为什么所谓的千兆宽带,下载起来没有1G每秒&…...

IDEA关闭SpringBoot程序后仍然占用端口的排查与解决

IDEA关闭SpringBoot程序后仍然占用端口的排查与解决 问题描述 在使用 IntelliJ IDEA 开发 Spring Boot 应用时,有时即使关闭了应用,程序仍然占用端口(例如:4001 端口)。这会导致重新启动应用时出现端口被占用的错误&a…...

deepseek清华大学第二版 如何获取 DeepSeek如何赋能职场应用 PDF文档 电子档(附下载)

deepseek清华大学第二版 DeepSeek如何赋能职场 pdf文件完整版下载 https://pan.baidu.com/s/1aQcNS8UleMldcoH0Jc6C6A?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/3ee62050a2ac...

【python随手记】——读取文本文件内容转换为json格式

文章目录 前言一、TXT文件转换为JSON数组1.txt文件内容2.python代码3.输出结果 二、TXT文件转换为JSON对象1.txt文件2.python代码3.输出结果 前言 场景:用于读取包含空格分隔数据的TXT文件,并将其转换为结构化JSON文件 一、TXT文件转换为JSON数组 1.tx…...

k8s集群3主5从高可用架构(kubeadm方式安装k8s)

关键步骤说明 环境准备阶段 系统更新:所有节点执行yum/apt update确保软件包最新时间同步:通过ntpdate time.windows.com或部署NTP服务器网络规划:明确划分Service网段(默认10.96.0.0/12)和Pod网段(如Flann…...

基于 sklearn 的均值偏移聚类算法的应用

基于 sklearn 的均值偏移聚类算法的应用 在机器学习和数据挖掘中,聚类算法是一类非常重要的无监督学习方法。它的目的是将数据集中的数据点划分为若干个类,使得同一类的样本点彼此相似,而不同类的样本点相互之间差异较大。均值偏移聚类&…...

三、大模型微调的多种方法与应用场景

详解大模型微调的多种方法与应用场景 随着大模型的不断发展,如何有效地微调这些庞大的预训练模型以适应特定任务成为了研究和应用中的一个重要问题。大模型微调不仅能够提高任务性能,还能在不同的业务需求中提升模型的适应性。在本文中,我们…...

第2课 树莓派镜像的烧录

树莓派的系统通常是安装在SD卡上的‌。SD卡作为启动设备,负责启动树莓派并加载操作系统。这种设计使得树莓派具有便携性和灵活性,用户可以通过更换SD卡来更换操作系统或恢复出厂设置。 烧录树莓派的镜像即是将树莓派镜像烧录到SD卡上,在此期间会格式化SD卡,如果SD卡…...

SQL之order by盲注

目录 一.order by盲注的原理 二.注入方式 a.布尔盲注 b.时间盲注 三.防御 一.order by盲注的原理 order by子句是用于按指定列排序查询结果,列名或列序号皆可。 order by 后面接的字段或者数字不一样,那么这个数据表的排序就会不同。 order by 盲…...

AI大模型(四)基于Deepseek本地部署实现模型定制与调教

AI大模型(四)基于Deepseek本地部署实现模型定制与调教 DeepSeek开源大模型在榜单上以黑马之姿横扫多项评测,其社区热度指数暴涨、一跃成为近期内影响力最高的话题,这个来自中国团队的模型向世界证明:让每个普通人都能…...

docker详细操作--未完待续

docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...