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

FastDDS

FastDDS

文章目录

  • FastDDS
    • 什么是 DDS?
      • DDS 的核心思想
      • DDS 的关键特性
    • FastDDS
      • 构建FastDDS
        • 构建FastCDR
        • 构建foonathan/memory
        • 构建tinyxml2
        • 构建Asio
        • 构建FastDDS

什么是 DDS?

DDS 的全称是 Data Distribution Service for Real-Time Systems,即“实时系统的数据分发服务”。它是由对象管理组织制定的一个规范,但它本身不是一个具体的实现。
DDS 规范定义了一套用于实时分布式系统中数据交换的API、行为和 QoS (服务质量) 策略。它解决了分布式系统中最核心的通信问题。

DDS 的核心思想

DDS 的核心是以数据为中心的发布/订阅模型

  • 发布者:数据的生产者。
  • 订阅者:数据的消费者。
  • 主题:数据流的“标签”,用于匹配发布者和订阅者。

DDS 的关键特性

  1. 全局数据空间:所有参与的应用程序共享一个逻辑上的“数据总线”,任何应用都可以向其中发布数据或从中订阅数据。
  2. 解耦
    • 空间解耦:应用不需要知道对方的 IP 地址或位置。
    • 时间解耦:应用不需要同时运行。
    • 同步解耦:应用不会因为等待数据而阻塞。
  3. 丰富的 QoS (Quality of Service):这是 DDS 最强大的地方。规范定义了超过 20 种 QoS 策略,让你可以精确控制数据传输的各个方面,如可靠性、延迟、持久性、资源限制等,以满足不同场景的需求(例如,视频流可以“尽力而为”,而指令必须是“可靠”的)。
  4. 可扩展性和互操作性:DDS 规范保证了不同厂商的 DDS 实现之间可以互相通信。

总结:DDS 是一个“是什么”和“应该怎么做”的规范,它描述了一个理想的、功能完备的通信中间件应该是什么样子。

FastDDS

FastDDS 是 eProsima 公司对 DDS 规范的一个具体、开源的 C++ 实现。

构建FastDDS

构建FastCDR
  • Fast-CDR Releases: 负责序列化。
# 下载Fast-CDR
download "https://github.com/eProsima/Fast-CDR/archive/refs/tags/v2.3.2.tar.gz"# 测试压缩包
tar -tvf Fast-CDR-*.tar.gz# 解压
tar -xvf Fast-CDR-*.tar.gz
mv ./Fast-CDR-*/ ./Fast-CDR/# 构建
http://www.dtcms.com/a/456728.html

相关文章:

  • leetcode LCR.衣橱整理
  • 基于单片机的自动存包柜设计
  • 竞价关键词排名软件保山网站建设优化
  • 电力市场学习笔记(1):什么是电力现货交易
  • 单例模式:原理、实现与演进
  • 用AI帮忙,开发刷题小程序:微信小程序中实现Markdown图片解析与渲染功能详解
  • 天津魔方网站建设WordPress模板转换typecho
  • 小工具大体验:rlwrap加持下的Oracle/MySQL/SQL Server命令行交互
  • AI智能体的未来:从语言泛化到交互革命
  • 云计算划分标准与Kubernetes NetworkPolicy深度解析
  • 学院网站建设功能网络公关案例
  • 【HTML】实现一个AI角色切换网页页面
  • 【51单片机】【protues仿真】基于51单片机矩阵电子琴系统
  • 网站怎样做免费优化有效果组织部信息化建设官方网站
  • 使用telnet进行Dubbo接口测试
  • 定时器实现非阻塞式程序
  • ArrayList - 数据结构 - 数组
  • 做网站的注意什么问题哪些经营范围是包含网站开发的
  • 【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
  • MyBatis Plus 核心功能与用法
  • LNMP架构实践
  • 自己怎么建个网站赚钱吗外贸品牌推广公司
  • 在线咨询 1 网站宣传建立免费公司网站
  • 10-存储过程和存储函数
  • leetCode101:对称二叉树
  • 【Linux】网络部分——Socket编程 UDP实现网络云服务器与本地虚拟机的基本通信
  • 实战项目:鸿蒙多端协同智能家居控制 App 开发全流程
  • 个人用云计算学习笔记 --19 (MariaDB服务器)
  • Linux -- 信号【中】
  • Azure - 尝试创建并使用一下Azure AI Search