在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

當服務不可用時SOME/IP-SD是如何通知Client的呢?

冬至子 ? 來源:拖拉機日記 ? 作者:活到一百歲 ? 2023-01-18 16:18 ? 次閱讀

SOME/IP-SD也是基于SOME/IP的報文,用來實現服務發現和事件訂閱機制。SOME/IP-SD消息通過UDP進行傳輸,報文格式如下圖所示:

2.jpg

Flags=重新啟動標志+單播標志+顯示初始數據控制標志,如下圖所示:

2.jpg

服務重新啟動后,所有消息的Reboot Flag須置為1,直到Session ID重新從1開始計數,之后的Reboot Flag須置為0。

Entries Array,Entry可以理解為“入口”,包含了服務實例以及需要訂閱的事件組的信息,分為Service和Eventgroup兩種類型,一個SD報文可能包含多個Entry,每個Entry大小都是16個字節,一個Entry可能包含0-2個Option。下圖為一個完整的SD報文示例:

2.jpg

3.jpg

Service Entry 用于服務發現:

2.jpg

Type:當網絡中未收到相關服務的OfferService或者暫時未收到,而Client又需要訪問該服務,那Client可以發出FindService去主動尋找服務,如果Service已經就緒的話,會回復OfferService報文;服務就緒后,主動發出OfferService,用以告知組播內其他節點,該服務已經啟動,可以創建連接;當服務不可用時,會主動發送StopOfferService報文,用以告知組播內其他節點,該服務目前不可用,停止發送請求,并取消訂閱。

2.jpg

Index 1st options:Option1排在Array里第幾個

Index 2nd options:Option2排在Array里第幾個

of opt 1:Option1的數目

of opt 2:Option2的數目

Service ID:Entry關于哪個服務

Instance ID:Entry關于服務的哪個實例,0xFFFF表示全部實例

Major Version:服務的主版本號
TTL:“入口”的生命周期,單位為秒,我理解為發現服務時的搜索時間,提供服務時的有效時間

Minor Version:服務的次版本號

服務發現,說白了,就是想辦法讓服務消費者能夠找到服務提供者。打個比方,想象你在一個有很多人的廣場上找一個會唱歌的人,很顯然有兩種情況:

你認識這個人,提前說好了,他站在某個地方等你,而你知道那個地方的位置,那你肯定很容易就找到他了,這就是靜態配置;

你并不認識這個人,存在一個中間人,你告訴中間人你想找一個會唱歌的,而那個人也會告訴中間人我是會唱歌的,我站在廣場的哪個位置,然后中間人把位置給你,你就可以找到他了,這就是動態發現,而SOME/IP-SD就是那個中間人。

Eventgroup Entry 用于事件訂閱:

2.jpg

Type:當Client收到服務OfferService之后,Client可以發送Subscribe報文主動跟Service訂閱感興趣的事件組;當Client訂閱某個事件組之后,后續發現不再需要改事件組的數據了,可以通過StopSubscribe報文來通知Service,避免不必要的數據交互;當Service收到Client的Subscribe報文之后,需要先行判斷是否符合可訂閱的條件,如果該Client滿足事件組訂閱條件,則返回SubscribeAck,告知Client訂閱成功,當事件組內的事件準備就緒之后,Service會以某種約定好的形式發送相關事件給成功訂閱的Client,如果該Client不符合事件組訂閱條件,那Service就會直接回復SubscribeEventgroupNack,告知訂閱失敗。

2.jpg

Initial Data Requested Flag:如初始值由服務發送,須置為1

Counter:區分相同訂閱者的訂閱請求

Eventgroup ID:事件組ID,也就是說SOME/IP事件訂閱和取消訂閱的顆粒度到一個事件組,而不是一個事件

下面的示例,說明了一個Client發現服務和訂閱事件組的過程:

2.jpg

Options Array,Option可以理解為選項參數,Type=0x01時,用于傳輸Entry的附加信息,比如服務名等等:

2.jpg

Type=0x04時,用于傳輸IPv4相關的參數,比如服務的IP地址、TCP還是UDP、端口號:

2.jpg

從下圖可知,對于不同的消息,要配置的選項類型也不一樣,甚至不需要配置,其他幾種選項的具體內容不一一列舉了

2.jpg

到這里,SOME/IP算介紹完了。是不是覺得如果要自己實現SOME/IP全部的協議,還是有點復雜的,目前GENIVI的vsomeip開源庫已經實現了SOME/IP協議棧,所以通常并不用再去造輪子。換言之,我們完全可以基于vsomeip開發SOME/IP應用程序,不用關心報文長什么樣,也不用關心服務發現和事件訂閱的細節,拿到手已經是Payload了,如果再用上GENIVI的CommonAPI,IDL一寫,一條命令下去,代碼自動生成了,Payload都用不著解析了,這樣就實現了真正的RPC。

審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • TTL
    TTL
    +關注

    關注

    7

    文章

    503

    瀏覽量

    70314
  • RPC
    RPC
    +關注

    關注

    0

    文章

    111

    瀏覽量

    11540
  • UDP協議
    +關注

    關注

    0

    文章

    69

    瀏覽量

    12715
收藏 人收藏

    評論

    相關推薦

    SD不可不可

    進行真機調試,我的SD卡為什么無法讀寫,顯示不可用獲取路徑用的一下語句File root = Environment.getExternalStorageDirectory();
    發表于 12-05 13:29

    candence 如何設置引腳不可用

    candence如何設置引腳不可用eg:在原理圖中畫了一個元件只有4PIN,但實際封裝有5pin,如何設置才能使原理圖導入PCB時一一對應不出錯?除了在原理圖中再添加一個腳之外,能不能把PCB中的8號引腳變為不可用,如何設置
    發表于 04-24 14:11

    TCP/IP地址不可用

    大家好,我對基于和聲的應用有問題。調試時,所有的工作都很好,但現在是時候把它連接到真正的網絡了。我得到了專用IP,它是192.168164.4。它可以通過DHCP獲得。調諧后的設備不可用。經過一些
    發表于 12-06 15:36

    為什么SPI外圍不可用時使用32雙TPIF II總線?

    ,GPIO [ 53 ] [ 56 ]對GPIO可以配置成GPIO、UART接口而已。”誰能說明為什么SPI外圍不可用時使用32雙TPIF II總線?我沒有看到物理引腳沖突;GPIO [ 53
    發表于 07-25 09:28

    connect連接一個不可用的目標服務器能不能改成非阻塞的

    connect連接一個不可用的目標服務器,阻塞近20秒。能不能改成非阻塞的?我在前面加了配置非阻塞之后,去連正常能通的服務器也立即返回了。unsigned long ul = 1;r
    發表于 09-05 14:50

    FDCAN為什么不可用

    FDCAN 不可用。我正在使用 STM32G474RE。我想在經典模式下將波特率設置為 1MBps。的我經常偶然發現 if (HAL_FDCAN_Start(&hfdcan1) != HAL_OK){ Error_Handler();}。我不知道是什么原因導致它失敗。我認為設置不好。的
    發表于 12-02 06:07

    如何處理屬性顯示不可用

    如何處理屬性顯示不可用 q:我電腦的操作系統是Windows XP,為什么在顯示屬性高級的適配器里,芯片類型、DAC類型.內存大小等全都
    發表于 02-24 13:57 ?2860次閱讀

    車載以太網的SOME/IP-SD協議了解與認識

    通過之前的文章我們了解到了SOME/IP協議的基本組成與SOME/IP的具體工作過程,同時也提到了SOME/
    的頭像 發表于 08-10 10:53 ?3042次閱讀

    基于SOME/ IP可擴展面向服務的中間件

    PDU 路由組管理需要管理啟用到禁用的套接字PDU 路由,SOME/IP - 套接字適配器 [SoAD] - AUTOSAR 模型構建塊,可用于通用上層支持SOME/
    的頭像 發表于 09-08 17:34 ?1388次閱讀

    SOME/IP-SD有何作用

    車載以太網協議棧總共可劃分為五層,分別為物理層,數據鏈路層,網絡層,傳輸層,應用層,其中今天所要介紹的內容SOME/IP就是一種應用層協議。
    的頭像 發表于 10-24 10:58 ?1889次閱讀

    SOME/IP-SD有何作用

    車載以太網協議棧總共可劃分為五層,分別為物理層,數據鏈路層,網絡層,傳輸層,應用層,其中今天所要介紹的內容SOME/IP就是一種應用層協議。
    的頭像 發表于 10-24 11:00 ?1319次閱讀

    服務器數據恢復】服務器raid5故障導致上層應用不可用的數據恢復案例

    某公司服務器8塊硬盤組成raid5磁盤陣列,其中有2塊硬盤故障指示燈報警,其他硬盤指示燈正常,上層應用不可用
    的頭像 發表于 12-09 14:15 ?743次閱讀
    【<b class='flag-5'>服務</b>器數據恢復】<b class='flag-5'>服務</b>器raid5故障導致上層應用<b class='flag-5'>不可用</b>的數據恢復案例

    服務器數據恢復】EMC存儲崩潰導致上層應用不可用的數據恢復案例

    raid5磁盤陣列中2塊硬盤離線,服務器崩潰,上層應用不可用
    的頭像 發表于 12-26 14:44 ?822次閱讀

    SOME/IP協議的基本原理

    ECU,每個ECU提供了十余種服務SOME/IP具有輕量化、高效、以接收方的需求為主導的特點,并且能夠提供過程調用和事件通知,逐漸被多種汽車設備所使用。
    發表于 08-30 10:29 ?1589次閱讀
    <b class='flag-5'>SOME</b>/<b class='flag-5'>IP</b>協議的基本原理

    DNS服務器可能不可用什么意思

    與該域名相關聯的IP地址。DNS服務器將IP地址返回給計算機,然后計算機使用該IP地址與目標服務器建立連接。 DNS
    的頭像 發表于 01-17 09:24 ?9995次閱讀
    主站蜘蛛池模板: 777kkk亚洲综合欧美色老头| 在线视频三区| 天天狠天天插| 天天澡天天摸天天爽免费| 2021天天躁狠狠燥| 黄.www| 一级黄色免费毛片| 天堂日韩| 欧美精品videosex性欧美| 免费的两性视频网站| 五色网| 好爽好黄的视频| 张柏芝三级无删减在线观看| 性福利视频| 日本www.色| 四虎在线永久视频观看| 色多多拼多多网站| 女人色视频| 欧美第一网站| 国内久久精品视频| 在线免费色视频| 欧美日韩影院| 免费啪视频| 亚洲人在线| 欧美成人aaaa免费高清| 国产成人精品日本亚洲专| 午夜久| 91精品日本久久久久久牛牛| 亚欧乱色束缚一区二区三区| 亚洲伊人久久大香线蕉影院| 日韩一区二区三区在线| 四虎永久地址4hu紧急入口| 欧美日韩在线成人免费| 女人18毛片水多| ts在线视频| 免费一级毛片在级播放| 在线婷婷| 四虎影视最新地址| 日本成本人三级在线观看2018| 国产一区二区三区影院| 天天操天天添|