Fast-DDS 服务发现简要概述
阅读本文章需要对DDS基础概念有一些了解,一些内容来自Fast-DDS官方文档,一些是工作中踩过的坑。
1. 服务发现阶段
满足OMG标准的DDS服务发现分为两部分,分别是:
- PDP(Participant Discovery Protocol 参与者发现协议):参与者确认彼此的存在。参与者会定期发送公告信息,消息包括但不限于参与者的名称,ID,所在进程信息,所在主机信息,以及监听用户数据以及发现数据的IP Port等;
- EDP(Endpoint Discovery Protocol 端点发现协议)。确认 DataWriter 和 DataReader 的信息,如Topic,数据类型等信息
PDP和EDP不同DDS可以有不同的实现方式,为了使得不同厂家的DDS能够互相通信,OMG标准规定,所有种类的DDS都需要实现SPDP和SEDP,即简单参与者发现协议和简单端点发现协议,以满足互操性。
Fast DDS提供的服务发现机制
-
简单发现:及上述的SPDP和SEDP协议,保证了Fast-DDS和其余品种的DDS的互操性,兼容性;
-
静态发现:在PDP阶段使用的是SPDP。但是可以在EDP阶段,在配置文件中指定要进行交互的端点(datawriter/datareader)的一些信息,如Topic,数据类型,通信的IP和端口号等。
-
发现服务器:基于C/S结构,发现消息等元流量由一个或者多个充当服务器的参与者进行管理。

-
手动发现:不与DDS层兼容,与底层RTPS层兼容。该机制禁用PDP,需要用户手动的匹配RTPSParticipants,RTPSReaders和RTPSWriters,用户将需要使用外部的元信息交换的通信机制。
相关文章:
Fast-DDS 服务发现简要概述
阅读本文章需要对DDS基础概念有一些了解,一些内容来自Fast-DDS官方文档,一些是工作中踩过的坑。 1. 服务发现阶段 满足OMG标准的DDS服务发现分为两部分,分别是: PDP(Participant Discovery Protocol 参与者发现协议):参与者确认…...
基于spingboot的websocket订阅、广播、多人聊天室示例
概述 基于spingboot的websocket多人聊天系统。包括订阅,广播、点对点单人聊天,多人聊天室功能。 详细 一、运行效果 简单示例 广播 单人聊天 多人聊天室 二、相关代码 websocket配置 package com.iamgpj.demowebsocket.config;import com.iamgpj.d…...
Linux mac Windows三系统 局域网文件共享方法
主要工具: Samba是一个开源的软件套件,允许Linux系统与Windows系统之间共享文件和打印机。 一、首先是Linux共享的设置 ①安装 sudo apt-get install samba ②创建共享文件夹 sudo mkdir /home/share ③配置用户 sudo smbpasswd -a kequan ④修改…...
Java——比较器
引入的背景 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决这个问题呢? 在Java中经常会涉…...
【数据结构】初识泛型
文章目录 一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义的类。这种限制对代码的束缚就会很大。所以我们引入了泛型。泛型,泛顾名思义就是广泛的意思。就是适用于许多许多类型。从代码上讲,就是对类型实现了参数…...
代码随想录--哈希--有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true 示例 2: 输入: s "rat", t "car" 输出: false 说明: 你可以假设字符串只包含小写字母。…...
MySQL——数据的增删改
2023.9.12 本章开始学习DML (数据操纵语言) 语言。相关学习笔记如下: #DML语言 /* 数据操作语言: 插入:insert 修改:update 删除:delete */#一、插入语句 #方式一:经典的插入 /* 语法: insert …...
云服务器与http服务器
如何与http服务器建立连接(客户端)? http请求设计格式: 例子: 发送http请求 http数据响应格式: 接收http服务器返回的数据需要进一步进行字符串处理操作,提取有用的数据。...
golang教程 beego框架笔记一
安装beego 安装bee工具 beego文档 # windos 推荐使用 go install github.com/beego/bee/v2master go get -u github.com/beego/bee/v2masterwindows使用安装bee工具时碰到的问题; 环境配置都没有问题,但是执行官网的命令:go get -u github…...
【深度学习】Mini-Batch梯度下降法
Mini-Batch梯度下降法 在开始Mini-Batch算法开始之前,请确保你已经掌握梯度下降的最优化算法。 在训练神经网络时,使用向量化是加速训练速度的一个重要手段,它可以避免使用显式的for循环,并且调用经过大量优化的矩阵计算函数库。…...
AI项目六:WEB端部署YOLOv5
若该文为原创文章,转载请注明原文出处。 一、介绍 最近接触网页大屏,所以就想把YOLOV5部署到WEB端,通过了解,知道了两个方法: 1、基于Flask部署YOLOv5目标检测模型。 2、基于Streamlit部署YOLOv5目标检测。 代码在…...
敲代码常用快捷键
1、代码拖动 PyCharm:按住 shiftalt鼠标选中某一区域来拖动,即可实现拖动这一区域至指定区域。Visual Studio Code (VSCode): - Windows/Linux:Alt 鼠标左键拖动 - MacOS:Option 鼠标左键拖动 IntelliJ IDEA: - Win…...
MyBatis: 分页插件PageHelper直接传递分页参数的用法
一、加分页插件依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.13</version></dependency>二、配置分页插件,并配置相关属性&a…...
Python基于Flask的高校舆情分析,舆情监控可视化系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 运行效果图 基于Python的微博大数据舆情分析,舆论情感分析可视化系统 系统介绍 微博舆情分析系…...
Python第一次作业练习
题目分析: """ 参考学校的相关规定。 对于四分制,百分制中的90分及以上可视为绩点中的4分,80 分及以上为3分,70 分以上为2分,60 分以上为1分; 五分制中的5分为四分制中的4分,4分为3分&#…...
InstallShield打包升级时不覆盖原有文件的解决方案
一个.NET Framework的Devexpress UI Windows Form项目,用的InstallShield,前些个版本都好好的,最近几个版本突然就没法更新了,每次更新的时候都覆盖不了原文件,而且这样更新后第一次打开程序(虽然是老程序&…...
服务器巡检表-监控指标
1、巡检指标 系统资源K8S集群NginxJAVA应用RabbitMQRedisPostgreSQLElasticsearchELK日志系统 2、巡检项 检查项目 检查指标 检查标准 系统资源 CPU 使用率 正常:<70% 低风险:≥ 70% 中风险:≥ 85% 高风险:≥ 9…...
无涯教程-JavaScript - DDB函数
描述 DDB函数使用双倍余额递减法或您指定的某些其他方法返回指定期间内资产的折旧。 语法 DDB (cost, salvage, life, period, [factor])争论 Argument描述Required/OptionalCostThe initial cost of the asset.RequiredSalvage 折旧结束时的价值(有时称为资产的残值)。 该…...
uniapp打包微信小程序。报错:https://api.weixin.qq.com 不在以下 request 合法域名列表
场景:在进行打包上传测试时,发现登录失效,但在测试中【勾选不效应合法域名】就可以。 出现原因:我在获取到用户code后,直接使用调用官方接口换取openid 解决方案: 可以把code带给后端,让他们返…...
stm32之31.iic
iic双线制。一根是SCL,作为时钟同步线;一根是SDA,作为数据传输线 SDN #include "iic.h"#define SCL PBout(8)#define SDA_W PBout(9) #define SDA_R PBin(9)void IIC_GPIOInit(void) {GPIO_InitTypeDef GPIO_InitStructure;//使能时钟GR…...
告别终端命令:Applite如何让macOS应用管理变得轻松有趣
告别终端命令:Applite如何让macOS应用管理变得轻松有趣 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 如果你曾因复杂的终端命令而对Homebrew望而却步,…...
还在为多平台资源下载烦恼?这款工具让你一站式搞定网络内容保存
还在为多平台资源下载烦恼?这款工具让你一站式搞定网络内容保存 【免费下载链接】res-downloader 资源下载器、网络资源嗅探,支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gi…...
操作系统面试必考:银行家算法10问10答(含真题解析)
操作系统面试必考:银行家算法10问10答(含真题解析) 银行家算法作为操作系统中经典的死锁避免算法,几乎成为所有技术面试的必考题。无论是校招还是社招,面试官总喜欢用它来考察候选人对资源分配与系统安全的理解深度。本…...
PHPStudy环境下ThinkPHP8与PHP8.2.9的完美搭配:XDbug与Redis扩展实战指南
1. PHPStudy环境与PHP8.2.9的安装配置 对于本地开发环境来说,PHPStudy一直是我的首选工具。它集成了Apache/Nginx、MySQL和PHP,一键安装就能搞定所有基础服务。最近在做一个新项目,需要用到ThinkPHP8框架,所以决定尝试最新的PHP8.…...
BilibiliDown终极使用指南:如何轻松下载B站视频和批量收藏
BilibiliDown终极使用指南:如何轻松下载B站视频和批量收藏 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirro…...
Wandb账号串线了?手把手教你排查和修复‘实验记录跑到别人账户’的坑
Wandb账号串线排查指南:如何避免实验记录跑到他人账户 实验室的GPU服务器指示灯闪烁着,你刚提交的模型训练任务在终端显示"Run completed successfully",但刷新了十几次Wandb面板——那些期待中的损失曲线和评估指标依然不见踪影。…...
SAP系统与外部服务通信中断?手把手教你用STRUST搞定SSL证书过期问题(附Concur案例)
SAP系统SSL证书过期紧急处理指南:从报错诊断到STRUST实战 凌晨三点,SAP生产系统的监控警报突然响起——与Concur的差旅报销数据同步中断了。这不是普通的网络抖动,而是直接影响员工报销流程的关键故障。作为SAP Basis管理员,您需要…...
Ubuntu 22.04轻量级桌面环境配置指南:从XFCE到中文输入法一站式解决方案
1. 为什么选择轻量级桌面环境? 很多朋友刚接触Ubuntu时,都会被默认的GNOME桌面惊艳到。但用久了就会发现,这个华丽的界面其实是个"资源大户"。我的老笔记本跑GNOME时,风扇经常呼呼转,开个浏览器都能感觉到卡…...
非支配排序蜣螂优化算法(NSDBO)——多目标优化问题的有效解决方法
非支配排序的蜣螂优化算法(Non-dominated Sorting Dung Beetle Optimization, NSDBO)是一种结合了非支配排序机制和蜣螂优化算法(Dung Beetle Optimization, DBO)的进化计算方法,专门用于解决多目标优化问题。 在多目标…...
智能家庭网络系统新选择:iStoreOS打造高效家庭网络与存储中心
智能家庭网络系统新选择:iStoreOS打造高效家庭网络与存储中心 【免费下载链接】istoreos 提供一个人人会用的的路由、NAS系统 (目前活跃的分支是 istoreos-22.03) 项目地址: https://gitcode.com/gh_mirrors/is/istoreos 家庭网络卡顿…...
