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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895237.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895237.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895237.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jvm 線程監控調試

文章目錄 前言一、使用JDK工具轉儲線程文件(如jstack)1. 找到Java進程的PID:2. 使用jstack生成線程轉儲文件:3.驗證生成的線程轉儲文件:二、分析文件1.使用在線工具進行分析上傳thread-dump文件,等待解析完成2.查看分析結果總結前言 提示:使用jdk自帶工具轉儲線程監控文…

從零開始認識大語言模型(LLM)

“AI小美好——聚焦科技、商業、職場。前沿資訊&#xff0c;實用干貨&#xff0c;邂逅更美好的自己&#xff01;” 在當今數字化時代&#xff0c;語言不僅是人類交流的工具&#xff0c;更是信息傳遞的核心。隨著人工智能技術的飛速發展&#xff0c;大語言模型逐漸走進了我們的…

安裝OpenJDK21(linux、macos)

文章目錄 安裝OpenJDK21java21linux下安裝配置mac下安裝 安裝OpenJDK21 java21 封神&#xff01;Java 21正式發布了&#xff0c;迎來了史詩級新特性&#xff0c;堪稱版本最強&#xff01;&#xff01;&#xff01; 視頻鏈接&#xff1a;https://www.bilibili.com/video/BV1E8…

idea插件開發,如何獲取idea設置的系統語言

手打不易&#xff0c;如果轉摘&#xff0c;請注明出處&#xff01; 注明原文&#xff1a;https://zhangxiaofan.blog.csdn.net/article/details/145578160 版本要求 大于 2024.3 錯誤用法 網上有的說使用&#xff1a;UIUtil com.intellij.util.ui.UIUtil 代碼示例&#xf…

Linux | 系統調用

文章目錄 Linux | 系統調用open 系統調用功能頭文件和函數原型參數解釋返回值示例代碼 其他常用系統調用read 系統調用write 系統調用close 系統調用lseek 系統調用stat 系統調用 Linux | 系統調用 前言&#xff1a;在Linux系統中&#xff0c;系統調用是用戶空間程序與內核進行…

郭羽沖IOI2024參賽總結

非常榮幸能代表中國參加第 36 36 36 屆國際信息學奧林匹克競賽&#xff08; I O I 2024 IOI2024 IOI2024&#xff09;。感謝 C C F CCF CCF 為我們提供競賽的平臺&#xff0c;感謝隨行的老師們一路上為我們提供的幫助與支持。 在每場比賽的前一個晚上&#xff0c;領隊、副領…

基于Java的自助多張圖片合成拼接實戰

目錄 前言 一、圖片合成需求描述 二、圖片合成設計與實現 1、編程語言 2、基礎數據準備 3、圖片合成流程 4、圖片合成實現 三、總結 前言 在當今數字化時代&#xff0c;圖像處理技術在各個領域都發揮著至關重要的作用。從社交媒體到電子商務&#xff0c;從在線教育到虛擬…

計算機網絡結課設計:通過思科Cisco進行中小型校園網搭建

上學期計算機網絡課程的結課設計是使用思科模擬器搭建一個中小型校園網&#xff0c;當時花了幾天時間查閱相關博客總算是做出來了&#xff0c;在驗收后一直沒管&#xff0c;在寒假想起來了簡單分享一下&#xff0c;希望可以給有需求的小伙伴一些幫助 目錄 一、設計要求 二、…

在npm上傳屬于自己的包

最近在整理代碼&#xff0c;上傳到npm方便使用&#xff0c;所以學習了如何在npm發布一個包&#xff0c;整理寫成一篇文章和大家一起交流。 1、注冊npm賬號 npm | Home 2、確保是登錄狀態 &#xff08;在包目錄下&#xff0c;終端執行 npm login) 按enter鍵自動打開頁面&…

物聯網(IoT)詳解

物聯網&#xff08;IoT&#xff09;詳解 1. IoT定義簡介2. IoT工作原理3. IoT關鍵技術4. 物聯網與互聯網區別5. IoT使用場景6. 開源物聯網平臺7. 參考資料 1. IoT定義簡介 首先第一個問題&#xff0c;什么是物聯網&#xff08;IoT&#xff09;? 物聯網&#xff08;英文&#…

【人工智能】解碼語言之謎:使用Python構建神經機器翻譯系統

《Python OpenCV從菜鳥到高手》帶你進入圖像處理與計算機視覺的大門! 解鎖Python編程的無限可能:《奇妙的Python》帶你漫游代碼世界 神經機器翻譯(NMT)是近年來機器翻譯領域的一項重大突破。它利用深度學習模型,特別是循環神經網絡(RNN)和Transformer網絡,以端到端的…

idea項目列表不出現,展示loading

2025年02月08 11:23:36 星期六 發生在webstorm中&#xff0c;跟其他idea類似 原因是將 ignore 插件升級到 4.5.5 版本 https://github.com/JetBrains/idea-gitignore/pull/933 解決方案&#xff1a;將ignore版本將為 4.5.4 我是將 4.5.5 降低為 4.5.4 正常顯示文件夾了。

DeepSeek本地部署詳細指南

DeepSeek本地部署詳細指南 隨著人工智能技術的飛速發展&#xff0c;本地部署大模型的需求也日益增加。DeepSeek作為一款開源且性能強大的大語言模型&#xff0c;提供了靈活的本地部署方案&#xff0c;讓用戶能夠在本地環境中高效運行模型&#xff0c;同時保護數據隱私。以下是…

算法隨筆_46: 最長公共前綴

上一篇:算法隨筆_45: 車隊-CSDN博客 題目描述如下: 編寫一個函數來查找字符串數組中的最長公共前綴。 如果不存在公共前綴&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 輸入&#xff1a;strs ["flower","flow","flight"] 輸…

learn torch 01

pytorch學習 在安裝完conda時&#xff0c;需要在windows上修改pip配置路徑具體操作如下 文件管理器文件路徑地址欄敲:%APPDATA%回車&#xff0c;快速進入C:\Users\電腦用戶\AppData\Roaming文件夾中 新建pip文件夾并在文件夾中新建pip.ini配置文件 需要在pip.ini配置文件內容&a…

【Vue】在Vue3中使用Echarts的示例 兩種方法

文章目錄 方法一template渲染部分js部分方法一實現效果 方法二template部分js or ts部分方法二實現效果 貼個地址~ Apache ECharts官網地址 Apache ECharts示例地址 官網有的時候示例顯示不出來&#xff0c;屬于正常現象&#xff0c;多進幾次就行 開始使用前&#xff0c;記得先…

分布式鎖的實現 和 底層原理 以及都有什么問題?

目錄 分布式鎖的實現方式及底層原理 1. 基于數據庫實現分布式鎖 實現方式 底層原理 存在的問題 2. 基于 Redis 實現分布式鎖 實現方式 底層原理 存在的問題 3. 基于 ZooKeeper 實現分布式鎖 實現方式 底層原理 存在的問題 總結 分布式鎖的實現方式及底層原理 1.…

13.10 統一配置管理中心:TranslationChain 架構的簡潔配置管理方案

統一配置管理中心:TranslationChain 架構的簡潔配置管理方案 1. 集中式配置文件設計 config/settings.yaml: # 多環境配置開關 env: production # development|test|production# 模型管理中心 models:openai:class: langchain_openai.ChatOpenAIparams

Ollama 簡單 好用 好玩

簡介 Ollama https://github.com/ollama/ollama/ 是一個基于 Go 語言 的 本地大語言模型運行框架&#xff0c;專注于本地化運行大型語言模型&#xff08;LLM&#xff09;的開源工具。 類 Docker 產品&#xff08;支持 list,pull,push,run 等命令&#xff09;&#xff0c;更好玩…

儲能系統-系統架構

已更新系列文章包括104、61850、modbus 、單片機等&#xff0c;歡迎關注 IEC61850實現方案和測試-1-CSDN博客 快速了解104協議-CSDN博客 104調試工具2_104協議調試工具-CSDN博客 1 電池儲能系統&#xff08;BESS&#xff09; 架構 電池儲能系統主要包括、電池、pcs、本地控制…