2024年C C++最全深入浅出 Fast DDS网络协议(入门篇)_fastdds ros1通讯(1),2024年最新C C++性能优化之启动优化实战篇

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在汽车电子领域中,通信中间件网络协议当前最火热的无非就两种:SOME/IP、DDS,而Fast DDS只是众多DDS网络协议开源的标准实现之一。所以我们先来讲解一下DDS是什么?

文章目录

1. 协议和模型

1.1 What is DDS?

DDS采用的通信模式是多对多的单向数据交流,由产生数据的应用发布到消耗数据的应用本地缓存中。信息流是由数据交换的实体之间建立的质量服务Quality of Service(QoS)来管理的。

作为一个以数据为中心的模型,DDS建立在一个所有感兴趣的应用程序都可以访问“全局数据空间”的概念之上。想要贡献数据的应用程序声明成发布者,想要消耗数据的应用程序声明为订阅者。每次发布者发布新的数据时,中间件会通知所有对该数据感兴趣的订阅者。

数据通信发生在多个域之间,也就是说将所有需要相关通信的分布式应用程序孤立抽象平面中,只有属于同一域的实体才能进行交互,订阅数据的实体和发布数据的实体之间的匹配由主题(topic)来中介。主题是明确的标识符,它将域中唯一的名称与数据类型和一组附加的数据特定QoS相关联。

DDS实体被建模为类或类型化接口,后者意味着更有效的资源处理,因为在执行前了解数据类型允许提前分配内存,而不是动态分配。

DDS是一个以**Data-Centric Publish Subscribe (DCPS)**数据为中心的发布、订阅模型,在此模型中,有三个实体:

  1. publication entities(发布实体):定义消息生成对象及相关属性
  2. ubscription entities(订阅实体):定义消息消费对象及相关属性
  3. configuration entities(配置实体): 定义传输相关的属性如 Topic 类型,通信的 QoS(服务质量)

DDS 使用 QoS 来定义 DDS 实体的行为特征。 QoS 由单独的 QoS 策略(源自 QoSPolicy 的类型的对象)组成。

1.2 The DCPS conceptual model

在DCPS模型中,为通信应用程序系统的开发定义了四个基本元素。

  • Publisher:负责创建和配置其实现的 DataWriters 的 DCPS 实体。 DataWriter 是负责实际发布消息的实体。每个消息都将有一个指定的主题,在该主题下发布消息。
  • Subscriber:负责接收在其订阅的主题下发布的数据。它为一个或多个DataReader对象提供服务,这些对象负责将新数据的可用性传达给应用程序。
  • Topic:它是绑定发布和订阅的实体。它在DDS域中是唯一的。通过TopicDescription,它允许发布和订阅的数据类型保持一致。
  • Domain:这是一个用于链接属于一个或多个应用程序的所有发布者和订阅者的概念,这些应用程序在不同的主题下交换数据。这些参与域的单独应用程序称为DomainParticipant。DDS域由域ID标识。DomainParticipant定义域ID以指定其所属的DDS域。具有不同ID的两个DomainParticipants不知道对方在网络中的存在。因此,可以创建几个通信信道。这适用于涉及多个DDS应用程序的场景,它们各自的DomainParticipants相互通信,但这些应用程序不得干扰。DomainParticipant充当其他DCPS实体的容器,充当发布服务器、订阅服务器和主题实体的工厂,并在域中提供管理服务。
    如下图所示:
    在这里插入图片描述

2. 协议和模型实现

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

大纲路线、讲解视频,并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值