VSOMEIP ROUTING应用和CLIENT应用之间交互的消息
#define VSOMEIP_ASSIGN_CLIENT 0x00 // client应用请求分配client_id
#define VSOMEIP_ASSIGN_CLIENT_ACK 0x01 // routing应用返回分配的client_id
#define VSOMEIP_REGISTER_APPLICATION 0x02 // client应用注册someip应用
#define VSOMEIP_DEREGISTER_APPLICATION 0x03 // client应用取消someip应用的注册
#define VSOMEIP_APPLICATION_LOST 0x04 // 未使用(代码中没有找到使用的地方)
#define VSOMEIP_ROUTING_INFO 0x05 // 如果当前主机内有app发布了serive,instance,则routing通知当前主机内请求了该服务实例的client app,此时消息中的commandid就是VSOMEIP_ROUTING_INFO
#define VSOMEIP_REGISTERED_ACK 0x06 // 当前主机内有app注册了client_id,routing应用会通知主机内所有app,其中注册了这个client_id的app会回复VSOMEIP_REGISTERED_ACK消息// 具体可以看routing_manager_client中收到routing消息的地方,首先要是routing_info类型的消息,然后里面的command_entry类型未RTE_CLIENT_ADD才会触发client回复这个消息#define VSOMEIP_PING 0x0E // routing发送PING消息给client应用,当两个应用先后offer同一个service/instance的时候,routing会通过PING消息判断先offer的client应用是否还活着
#define VSOMEIP_PONG 0x0F // client应用以PONG消息回复routing应用的PING消息,告诉routing自己还活着#define VSOMEIP_OFFER_SERVICE 0x10 // client应用发布service实例
#define VSOMEIP_STOP_OFFER_SERVICE 0x11 // client应用停止分布service实例
#define VSOMEIP_SUBSCRIBE 0x12 // client应用订阅service实例的事件
#define VSOMEIP_UNSUBSCRIBE 0x13 // client应用停止订阅service实例的事件
#define VSOMEIP_REQUEST_SERVICE 0x14 // client应用请求service实例
#define VSOMEIP_RELEASE_SERVICE 0x15 // client应用释放(停止请求)service实例
#define VSOMEIP_SUBSCRIBE_NACK 0x16 // 1. client应用回复对其service订阅的NACK消息给routing, routing随后会将订阅NACK消息发给订阅端应用所在主机的routing应用// 2. 订阅端应用所在主机的routing应用收到订阅NACK消息,则通过uds发送VSOMEIP_SUBSCRIBE_NACK类型的消息给订阅应用
#define VSOMEIP_SUBSCRIBE_ACK 0x17 // 1. client应用回复对其service订阅的ACK消息给routing, routing随后会将订阅ACK消息发给订阅端应用所在主机的routing应用// 2. 订阅端应用所在主机的routing应用收到订阅ACK消息,则通过uds发送VSOMEIP_SUBSCRIBE_ACK类型的消息给订阅应用
#define VSOMEIP_SEND 0x18 // client应用发送消息的时候(REQUEST/RESPONSE),首先通过VSOMEIP_SEND类型的消息发给routing应用,由routing应用转发给其他主机上的routing应用
#define VSOMEIP_NOTIFY 0x19 // client应用发送notification消息
#define VSOMEIP_NOTIFY_ONE 0x1A // client应用对某一个特定的订阅了事件的远端应用发送notification的消息#define VSOMEIP_REGISTER_EVENT 0x1B // 提供someip事件的client应用向routing应用注册事件
#define VSOMEIP_UNREGISTER_EVENT 0x1C // 提供someip事件的client应用向routing应用取消事件的注册
#define VSOMEIP_ID_RESPONSE 0x1D // 未使用(代码中没有找到使用的地方)
#define VSOMEIP_ID_REQUEST 0x1E // 未使用(代码中没有找到使用的地方)
#define VSOMEIP_OFFERED_SERVICES_REQUEST 0x1F // 当client应用通过application::get_offered_services_async接口向routing请求已经收到offer的service信息时,// client应用就会发送VSOMEIP_OFFERED_SERVICES_REQUEST类型的消息给routing应用
#define VSOMEIP_OFFERED_SERVICES_RESPONSE 0x20 // routing应用收到VSOMEIP_OFFERED_SERVICES_REQUEST类型的消息后将本地目前收到offer的所有service信息放到VSOMEIP_OFFERED_SERVICES_RESPONSE类型消息中回复给client应用
#define VSOMEIP_UNSUBSCRIBE_ACK 0x21 // 提供event的应用从routing应用收到远端应用对该event取消订阅的请求后,将发送VSOMEIP_UNSUBSCRIBE_ACK消息给routing应用,然后再给到远端的routing和订阅该event的client应用
#define VSOMEIP_RESEND_PROVIDED_EVENTS 0x22 // routing应用发给client应用,要求其重新将event注册的消息(VSOMEIP_REGISTER_EVENT)发送一次
每种消息的格式如下:
vSomeIP command documentation
=============================VSOMEIP_ASSIGN_CLIENT (0x00)Command 00
Version xx xx
Client xx xx
Size xx xx xx xx
Name xx ... xx ;#xx = SizeVSOMEIP_ASSIGN_CLIENT_ACK (0x01)Command 01
Version xx xx
Client xx xx
Size 02 00 00 00
Assigned xx xxVSOMEIP_REGISTER_APPLICATION (0x02)Command 02
Version xx xx
Client xx xx
Size 00 00 00 00VSOMEIP_DEREGISTER_APPLICATION (0x03)Command 03
Version xx xx
Client xx xx
Size 00 00 00 00VSOMEIP_APPLICATION_LOST (0x04)<unused>VSOMEIP_ROUTING_INFO (0x05)Command 05
Version xx xx
Client xx xx
Size xx xx xx xx
Entries SubCommand xx ; RIE_ADD_CLIENT (0x0) or RIE_DEL_CLIENT (0x1)Size xx xx xx xxClient xx xx[Address] xx .. xx ; Size - sizeof(Client) - sizeof(Port)[Port] xxSubCommand xx ; RIE_ADD_SERVICE_INSTANCE (0x2) or RIE_DEL_SERVICE_INSTANCE (0x3)Size xx xx xx xx ; Command sizeSize xx xx xx xx ; Client info sizeClient xx xx[Address] xx .. xx ; Client info size - sizeof(Client) - sizeof(Port)[Port] xxSize xx xx xx xx ; Services sizeService xx xxInstance xx xxMajor xxMinor xx xx xx xxVSOMEIP_REGISTERED_ACK (0x06)Command 06
Version xx xx
Client xx xx
Size 00 00 00 00VSOMEIP_PING (0x07)Command 07
Version xx xx
Client 00 00
Size 00 00 00 00VSOMEIP_PONG (0x08)Command 08
Version xx xx
Client xx xx
Size 00 00 00 00VSOMEIP_OFFER_SERVICE (0x10)Command 10
Version xx xx
Client xx xx
Size 09 00 00 00
Service xx xx
Instance xx xx
Major xx
Minor xx xx xx xxVSOMEIP_STOP_OFFER_SERVICE (0x11)Command 11
Version xx xx
Client xx xx
Size 09 00 00 00
Service xx xx
Instance xx xx
Major xx
Minor xx xx xx xxVSOMEIP_SUBSCRIBE (0x12)Command 12
Version xx xx
Client xx xx
Size xx xx xx xx
Service xx xx
Instance xx xx
Eventgroup xx xx
Major xx
Event xx xx
Pending ID xx xx
FilterOnChange xxOnChangeResetsInterval xxInterval xx xx xx xx xx xx xx xxIgnore (per entry)Key xx xx xx xx xx xx xx xxValue xxVSOMEIP_UNSUBSCRIBE (0x13)
VSOMEIP_EXPIRE (0x2A)Command 13/2A
Version xx xx
Client xx xx
Size 0a 00 00 00
Service xx xx
Instance xx xx
Eventgroup xx xx
Event xx xx
Pending ID xx xxVSOMEIP_REQUEST_SERVICE (0x14)Command 14
Version xx xx
Client xx xx
Size xx xx xx xx
EntriesService xx xxInstance xx xxMajor xxMinor xx xx xx xxVSOMEIP_RELEASE_SERVICE (0x15)Command 15
Version xx xx
Client xx xx
Size 04 00 00 00
Service xx xx
Instance xx xxVSOMEIP_SUBSCRIBE_NACK (0x16)Command 16
Version xx xx
Client xx xx
Size 0c 00 00 00
Service xx xx
Instance xx xx
Eventgroup xx xx
Subscriber xx xx
Event xx xx
ID xx xxVSOMEIP_SUBSCRIBE_ACK (0x17)Command 17
Version xx xx
Client xx xx
Size 0c 00 00 00
Service xx xx
Instance xx xx
Eventgroup xx xx
Subscriber xx xx
Event xx xx
ID xx xxVSOMEIP_SEND (0x18)
VSOMEIP_NOTIFY (0x19)
VSOMEIP_NOTIFY_ONE (0x1A)Command 18|19|1a
Version xx xx
Client xx xx
Size xx xx xx xx
Instance xx xx
Reliable xx ; UDP (00) or TCP (01)
Status xx ; CRC of E2E - protected messages
Destination xx xx ; Client ID of the receiver
Payload xx ... xxVSOMEIP_REGISTER_EVENT (0x1B)Command 1b
Version xx xx
Client xx xx
Size xx xx xx xx ; 10 + #eventgroups * 2
EntriesService xx xxInstance xx xxNotifier xx xxType xx ; ET_EVENT (00), ET_SELECTIVE_EVENT(01) or ET_FIELD(02)Provided xx ; False (00) or True (01)Reliability xx ; UDP (00) or TCP (01)IsCyclic xxNum Eventgroups xx xxEntriesEventgroup xx xxVSOMEIP_UNREGISTER_EVENT (0x1C)Command 1c
Version xx xx
Client xx xx
Size 07 00 00 00
Service xx xx
Instance xx xx
Notifier xx xx
Provided xxVSOMEIP_ID_RESPONSE (0x1D)<unused>VSOMEIP_ID_REQUEST (0x1E)<unused>VSOMEIP_OFFERED_SERVICES_REQUEST (0x1F)Command 1f
Version xx xx
Client xx xx
Size 01 00 00 00
OfferType xx (00 = LOCAL, 01 = REMOTE, 02 = ALL)VSOMEIP_OFFERED_SERVICES_RESPONSE (0x20)Command 20
Version xx xx
Client xx xx
Size xx xx xx xx
OfferedServicesSubcommand xx (00 = ADD CLIENT, 01 = ADD SERVICE INSTANCE, 02 = DELETE SERVICE INSTANCE, 03 = DELETE CLIENT)Size xx xx xx xxServiceInstancesService xx xxInstance xx xxMajor xx xxMinor xx xxVSOMEIP_UNSUBSCRIBE_ACK (0x21)Command 21
Version xx xx
Client xx xx
Size 08 00 00 00
Service xx xx
Instance xx xx
Eventgroup xx xx
Id xx xx VSOMEIP_RESEND_PROVIDED_EVENTS (0x22)Command 22
Version xx xx
Client xx xx
Size 04 00 00 00
PendingOfferId xx xx xx xxVSOMEIP_UPDATE_SECURITY_POLICY (0x23)
VSOMEIP_UPDATE_SECURITY_POLICY_INT (0x29)Command 23/29
Version xx xx
Client xx xx
Size xx xx xx xx
UpdateId xx xx xx xx
Policy xx ... xx VSOMEIP_UPDATE_SECURITY_POLICY_RESPONSE (0x24)Command 24
Version xx xx
Client xx xx
Size 04 00 00 00
UpdateId xx xx xx xxVSOMEIP_REMOVE_SECURITY_POLICY (0x25)Command 25
Version xx xx
Client xx xx
Size 0c 00 00 00
UpdateId xx xx xx xx
Uid xx xx xx xx
Gid xx xx xx xxVSOMEIP_REMOVE_SECURITY_POLICY_RESPONSE (0x26)Command 26
Version xx xx
Client xx xx
Size 04 00 00 00
UpdateId xx xx xx xxVSOMEIP_UPDATE_SECURITY_CREDENTIALS (0x27)Command 27
Version xx xx
Client xx xx
Size xx xx xx xx
CredentialsUid xx xx xx xxGid xx xx xx xxVSOMEIP_DISTRIBUTE_SECURITY_POLICIES (0x28)Command 28
Version xx xx
Client xx xx xx xx
Size xx xx xx xx
PoliciesCount xx xx xx xx
PoliciesSize xx xx xx xxData xx ... xxVSOMEIP_SUSPEND (0x30)Command 30
Version xx xx
Size xx xx xx xx
相关文章:
VSOMEIP ROUTING应用和CLIENT应用之间交互的消息
#define VSOMEIP_ASSIGN_CLIENT 0x00 // client应用请求分配client_id #define VSOMEIP_ASSIGN_CLIENT_ACK 0x01 // routing应用返回分配的client_id #define VSOMEIP_REGISTER_APPLICATION 0x02 // client应用注册someip应用 #…...
HTML之基本布局div|span
HTML基本布局使用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"width<device-width>, initial-scale1.0"><title>布局</title> <…...

Linux下学【MySQL】常用函数助你成为数据库大师~(配sql+实操图+案例巩固 通俗易懂版~)
绪论 每日激励:“唯有努力,才能进步” 绪论: 本章是MySQL中常见的函数,利用好函数能很大的帮助我们提高MySQL使用效率,也能很好处理一些情况,如字符串的拼接,字符串的获取,进制…...

【Rabbitmq篇】高级特性----TTL,死信队列,延迟队列
目录 一.TTL ???1.设置消息的TTL 2.设置队列的TTL 3.俩者区别? 二.死信队列 定义: 消息成为死信的原因: 1.消息被拒绝(basic.reject 或 basic.nack) 2.消息过期(TTL) 3.队列达到最大长度? …...
机器学习赋能的智能光子学器件系统研究与应用
机器学习赋能的智能光子学器件系统研究与应用 时间: 2025年03月29日-03月30日 2025年04月05日-04月06日 机器学习赋能的光子学器件与系统:从创新设计到前沿应用 课程针对光子学方面的从业科研人员及开发者,希望了解和实践在集成光学/空间…...

尚硅谷课程【笔记】——大数据之Linux【三】
课程视频链接:尚硅谷大数据Linux课程 七、定时任务调度 任务调度:指系统在某个时间执行的特定的命令或程序。 1)系统工作:有些重要的工作必须周而复始地执行。 2)个别用户工作:用户可能希望在某些特定的时…...

Visual Studio踩过的坑
统计Unity项目代码行数 编辑-查找和替换-在文件中查找 查找内容输入 b*[^:b#/].*$ 勾选“使用正则表达式” 文件类型留空 也有网友做了指定,供参考 !*\bin\*;!*\obj\*;!*\.*\*!*.meta;!*.prefab;!*.unity 打开Unity的项目 注意:只是看࿰…...
教程 | MySQL 基本指令指南(附MySQL软件包)
此前已经发布了安装教程安装教程,现在让我们来学习一下MySQL的基本指令。 一、数据库连接与退出 连接本地数据库 mysql -uroot -p # 输入后回车,按提示输入密码(密码输入不可见)若需隐藏密码显示,可使用࿱…...

企业数据集成案例:吉客云销售渠道到MySQL
测试-查询销售渠道信息-dange:吉客云数据集成到MySQL的技术案例分享 在企业的数据管理过程中,如何高效、可靠地实现不同系统之间的数据对接是一个关键问题。本次我们将分享一个具体的技术案例——通过轻易云数据集成平台,将吉客云中的销售渠…...

网络编程 day3
思维导图 以select函数模型为例 思维导图2 对应 epoll模型 应使用的函数 题目 使用epoll函数实现 两个客户端 通过服务器 实现聊天 思路 在原先代码基础上 实现 服务器 发向 客户端 使用客户端在服务器上的 套接字描述符 实现 客户端 接收 服务器…...

Excel 融合 deepseek
效果展示 代码实现 Function QhBaiDuYunAIReq(question, _Optional Authorization "Bearer ", _Optional Qhurl "https://qianfan.baidubce.com/v2/chat/completions")Dim XMLHTTP As ObjectDim url As Stringurl Qhurl 这里替换为你实际的URLDim postD…...

【论文笔记】Are Self-Attentions Effective for Time Series Forecasting? (NeurIPS 2024)
官方代码https://github.com/dongbeank/CATS Abstract 时间序列预测在多领域极为关键,Transformer 虽推进了该领域发展,但有效性尚存争议,有研究表明简单线性模型有时表现更优。本文聚焦于自注意力机制在时间序列预测中的作用,提…...

游戏手柄Type-c方案,支持一边充电一边传输数据
乐得瑞推出LDR6023SS,专门针对USB-C接口手机手柄方案,支持手机快充,支持任天堂游戏机,PS4等设备~同时支持手机充电跟数据传输 1、概述 LDR6023SS SSOP16 是乐得瑞科技针对 USB Type-C 标准中的 Bridge 设备而开发的双 USB-C DRP …...
2. 4 模块化JDK:JDK模块结构与核心模块
第3章:模块化JDK:JDK模块结构与核心模块 JDK 9 将自身拆分为一系列模块,彻底告别传统的“单一JAR(如 rt.jar)”模式。本章深入解析 JDK 的模块化架构、核心模块功能及开发者如何高效利用这些模块。 3.1 JDK 模块化设计…...
每日一题——缺失的第一个正整数
缺失的第一个正整数 题目描述进阶:数据范围: 示例示例 1示例 2示例 3 题解思路代码实现代码解释复杂度分析总结 题目描述 给定一个无重复元素的整数数组 nums,请你找出其中没有出现的最小的正整数。 进阶: 时间复杂度ÿ…...

CEF132 编译指南 MacOS 篇 - 基础开发工具安装实战 (二)
1. 引言 在 macOS 平台上编译 CEF132 之前,首要任务是搭建一个完善的开发环境。与 Windows 和 Linux 环境不同,macOS 的开发环境主要以 Xcode 为核心。本篇将作为 CEF132 编译指南系列的第二篇,详细指导读者如何在 macOS 系统上安装和配置 X…...
vi 是 Unix 和 Linux 系统中常用的文本编辑器
vi是 Unix 和 Linux 系统中常用的文本编辑器,它有几种不同的模式,其中最常用的是命令模式和插入模式。光标控制主要在命令模式下进行,以下是一些常用的vi命令来控制光标位置: • h,j,k,l:分别用于将光标向左、向下、向…...

SwanLab x verl:可视化LLM强化学习后训练教程
文章目录 介绍Verl和SwanLab1. 环境安装2. 使用方法3. 查看训练日志 介绍Verl和SwanLab verl 是一个灵活、高效且可用于生产环境的强化学习(RL)训练框架,专为大型语言模型(LLMs)的后训练设计。它由字节跳动火山引擎团…...

职场到校园,初心未改:我的2024年
Hi,大家好,我是几何心凉。 其实早就想写一份复盘文章,正好借助2024年度博客之星的评选机会,来写下这篇总结。回望过去,感慨颇多。自从加入CSDN平台以来,已经见证了许多博主的来去匆匆,各类创作…...
C++基础知识学习记录—引用
1、引用的概念 概念:引用相当于给变量取个别名 对引用进行操作与直接操作变量相同,注意引用类型与变量类型一致 #include<iostream> using namespace std; int main(){int a10;int& cite_a a;//操作引用cite_a 与操作变量a完全一样cout &l…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...