OpenDDS拓展开发指南
文章平均质量分 69
在对OpenDDS开发的基础上,拓展外部适配(操作系统、处理器、通信协议)、应用级定制(文件传输、音视频流动、组播和广播)等。
余额抵扣
助学金抵扣
还需支付
¥299.90
¥399.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
pony12
专注OpenDDS【应用开发】、【源码分析】、【项目咨询】、【功能定制】和【学习指导】多年
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenDDS性能测试框架Bench
OpenDDS性能测试框架Bench通过配置文件实现消息传输协议和测试场景的配置,支持TCP、UDP等多种协议。测试配置分为传输协议(通过transport-*.ini文件设置)和测试场景(定义发布/订阅端数量及参数)两类。Latency测试通过配置不同大小的数据包(50-32000字节)测量消息延时,测试过程需启动DCPSInfoRepo服务并分别运行发布端和订阅端程序。测试支持自动化脚本(run_test.pl)或手工方式执行,要求测试双方协议和消息大小保持一致。原创 2025-12-21 18:08:34 · 125 阅读 · 0 评论 -
DDS网络传输报文解析
OpenDDS数据传输解析:遵循DDSv1.4规范,采用Header+Body封装方式。网络报文由TransportHeader(28字节)和DataSample组成,后者包含DataSampleHeader(40字节)和实际数据(如1024个A)。一个DataSampleList可包含多个DataSampleElement,每个元素独立封装样本数据。系统日志会记录传输过程中的详细报文信息,便于逐层解析网络传输内容。原创 2025-12-14 16:52:56 · 153 阅读 · 0 评论 -
OpenDDS绿色安装包(运行版、开发版)
OpenDDS作为开源DDS实现,在关键领域应用广泛但学习曲线陡峭。本文介绍如何定制OpenDDS绿色安装包,包含运行版和开发版两种类型,支持C++/Java语言及Windows/Linux平台。安装包制作涉及ACE+TAO和OpenDDS代码编译(需1-10天不等),最终打包为包含动态库、可执行文件和配置文件的绿色版本。用户可根据需求定制不同版本组合(支持OpenDDS V3.8-V3.33、多种编译器和JDK版本),大幅节省环境搭建时间(新手可缩短10天周期)。提供完整的安装脚本和开发文件目录结构,帮助原创 2025-12-14 15:32:37 · 90 阅读 · 0 评论 -
OpenDDS针对不同网段和防火墙环境的配置策略
本文介绍了OpenDDS在不同网络环境下的通信配置策略,重点分析跨网段和防火墙场景。OpenDDS支持RTPS对等发现和Repo集中发现两种模式,分别使用不同的端口配置:RTPS模式下涉及组播地址239.255.0.1/7400和单播端口7410等,Repo模式则通过TCP端口12345进行集中发现。针对防火墙环境,文章详细列出了各层通信所需的端口开放规则,包括UDP/TCP协议的入站端口设置,并提供了关键配置参数如SpdpSendAddrs、local_address等的使用方法。这些配置策略可帮助实现复原创 2025-12-13 18:33:41 · 88 阅读 · 0 评论 -
OpenDDS运行配置可编程化
OpenDDS运行,需要配置信息,包括发现配置信息、传输配置信息,这些信息可以通过配置文件来设置、也可以通过编程来实现配置。OpenDDS运行配置可编程化,能够适应应用系统传输网络的动态化、实时化,具有非常好的灵活性:原创 2025-09-27 18:57:33 · 113 阅读 · 0 评论 -
DDS(数据分发服务)WorkShop
DDS工作室成员,10多年在DDS技术规范、原理、多个DDS实现(商业化如RTI、CoreDX、OpenSplice或开源OpenDDS、CycloneDDS、FastDDS)深耕,了解和掌握了大中型业务系统中使用DDS定义业务间通信框架或构建系统间通信总线和服务的机制,能给广大DDS爱好者、DDS应用者、DDS研究者和创新者朋友提供第一手、面对面、有深度和精湛的技术和理论指导。DDS工作室承诺,把你的需求交给我们,我们将还你一个清朗的DDS前途!原创 2025-01-20 12:04:18 · 213 阅读 · 0 评论 -
DDS采样记录Recorder和发布重放Replayer
OpenDDS提供了采集记录Recorder和发布重放Replayer功能,采集记录Recorder允许应用程序记录在任意主题上发布的样本,而无需事先了解该主题所使用的数据类型。Replayer功能允许将这些记录的样本重新发布到相同或其他主题中。原创 2024-12-11 17:06:40 · 369 阅读 · 0 评论 -
OpenDDS的Rtps_Udp传输协议可靠性QoS收发基本流程
OpenDDS中,实现了Rtps_Udp传输协议(非纯udp)的可靠性传输。传输的线程包括:1)发送方线程主要线程和定时器 《1》应用线程 《2》网络异步发送线程 《3》Heartbeat定时器 《4》Nak_response定时器 2)接收方主要线程和定时器 《1》网络异步接收线程原创 2024-08-17 15:47:57 · 483 阅读 · 0 评论 -
RTPS对等发现过程的日志记录
RTPS对等发现过程的日志记录,是快速分析和解决RTPS对等发现过程中问题的有效方法。原创 2024-08-17 15:23:15 · 213 阅读 · 0 评论 -
OpenDDS基于银河麒麟aarch64处理器的编译问题及解决措施
OpenDDS+ACE在国产系统和处理上,编译时遇到的错误,和解决策略。原创 2024-08-17 11:25:36 · 342 阅读 · 0 评论 -
OpenDDS的GUID是如何构造的?
GUID(Global Unique IDentifiers)是RTPS规范约定的DDS对象的唯一性ID;RepoId(Repository IDentifiers)是Repo服务约定的DDS对象的唯一性ID;GUID和RepoId,都是基于GUID_t结构体定义,名称不同,但实质上是一样的。题外话:无论是GUID还是RepoId,都可以根据自己的环境、业务和代码需要,自定义GUID_t结构体(共16个字节位)的组成部分,实现自己的特定需要。原创 2024-08-17 10:53:40 · 174 阅读 · 0 评论 -
OpenDDS 集中发现服务联邦Federator解析
集中发现协议客户端服务端联邦服务可执行服务。原创 2024-08-14 22:46:01 · 270 阅读 · 0 评论 -
OpenDDS集中发现服务DCPSInfoRepo联邦机制
OpenDDS在提供DCPSInfoRepo集中发现服务的基础上,又提供了集中发现服务DCPSInfoRepo的联邦功能,实际上就是集群功能。但联邦Federation功能一直以来,作为一个实验项目存在,功能的完备性、可用性距离真正的集群功能还存在着较大差距,如果你想实现OpenDDS的发现服务的集群化:1)根据DCPSInfoRepo联邦的基础上,进行完善、改造和定制,让它往集群化服务的方向继续前进;2)基于自己的业务需要,结合市面上的集群组件、注册发现的机制进行开发和实现。原创 2024-08-14 22:03:05 · 255 阅读 · 0 评论 -
DCPSInfoRepo集中发现服务的主题通信
DCPSInfoRepo,作为OpenDDS提供的RTPS对等发现规范之外的pub方和sub方注册发现的服务机制。1)既作为pub方和sub方应用的主题资源中心;2)又作为pub方和sub方的连接健康监测中心;以这4个内置主题为通信线索,进行DCPSInfoRepo和pub/sub端的联系连接。原创 2024-08-14 21:47:49 · 243 阅读 · 0 评论 -
集中发现服务DCPSInfoRepo通信端口和ORB交互流程
OpenDDS集中发现服务DCPSInfoRepo,为OpenDDS的pub和sub通信终端提供主题匹配和通信协商和中介服务,是基于TAO的ORB机制完成的,GIOP协议。从通信端口、GIOP协议流程、Pub和Sub端操作步骤及分解动作等进行解析。原创 2023-10-07 20:09:05 · 546 阅读 · 0 评论 -
OpenspliceDDS(1)介绍
OpenSpliceDDS的特点、优势和价值,体系架构等原创 2022-12-31 19:04:20 · 1128 阅读 · 0 评论 -
CycloneDDS(5)发现Discovery
CycloneDDS的发现机制,包括Topic Discovery和Type Discovery原创 2022-12-31 10:56:36 · 2361 阅读 · 0 评论 -
CycloneDDS(4)Security插件图解
dds安全插件组件,包括dds安全认证插件、dds安全访问控制插件、dds安全加密插件(图解)原创 2022-12-31 10:44:57 · 558 阅读 · 0 评论 -
CycloneDDS(3)安全Security
DDS安全模型的三个插件是:1、身份验证服务插件2、AccessControl服务插件3、加密服务插件原创 2022-12-31 08:13:23 · 2605 阅读 · 0 评论 -
CycloneDDS(2)路线图
CycloneDDS的版本发布里程碑,从0.1.0到0.10.0原创 2022-12-31 08:03:09 · 1251 阅读 · 0 评论 -
CycloneDDS配置详细说明中文版(四)
CycloneDDS配置,如SharedMemory、Tracing、Threads、TCP、Sizing原创 2022-12-04 13:23:26 · 2165 阅读 · 0 评论 -
CycloneDDS配置详细说明中文版(三)
CycloneDDS配置,//CycloneDDS/Domain/Partitioning、//CycloneDDS/Domain/SSL、//CycloneDDS/Domain/Security部分原创 2022-12-04 13:03:23 · 1728 阅读 · 0 评论 -
CycloneDDS配置详细说明中文版(二)
CycloneDDS配置,//CycloneDDS/Domain/Internal配置原创 2022-12-04 13:24:21 · 1629 阅读 · 0 评论 -
CycloneDDS配置详细说明中文版(一)
CycloneDDS配置详细说明中文版原创 2022-12-04 11:45:17 · 2852 阅读 · 0 评论 -
Cyclone DDS(1)初识
Cyclone DDS遵循对象管理组织(OMG)的数据分发服务(DDS)技术标准,是一个最新的快速增长的开源实现。现在,Cyclone DDS在机器人、自动驾驶汽车和汽车市场以及其他关键任务和要求苛刻的物联网系统中获得了发展势头原创 2022-11-26 17:53:06 · 3906 阅读 · 4 评论 -
OpenDDS问题记录
最近几年,一直在了解、研究、使用和定制化DDS技术,包括商用的如RTI Connext、CoreDX、OpenSplice,开源的如OpenDDS、Cyclone DDS、FastDDS等;各DDS实现厂家遵循的DDS规范大体是DDSv1.4或更老的规范版本,使用到的开发语言有C、C++、Java等。跟随OpenDDS,从3.8到3.13、3.19、3.21等,这几年走过使用OpenDDS道路,对趟过的坑(bug)、待优化点、重大的功能定制等,做一个大概的记录。原创 2022-09-15 09:06:50 · 1045 阅读 · 2 评论 -
OpenDDS的QoS和自定义QoS(校时TimingQosPolicy)
列举OpenDDS的22种QoS的数据结构,并提供DataWriter和DataReader的校时QoS1) DR设置TimingQosPolicy中value=true,则DR方发起校时申请,以DW方的时间戳为准进行校时;2) DW设置TimingQosPolicy中value=true,则DW方发起校时申请,以DR方的时间戳为准进行校时;3) DR和DW设置TimingQosPolicy中value=true,则DR方发起校时申请,以DW方的时间戳为准进行校时;.........原创 2022-07-16 22:26:51 · 1010 阅读 · 1 评论 -
OpenDDS实现机制分析(大纲)
后期,拟针对OpenDDS代码实现1)RTPS规范及实现,网络包协议分析2)DDS规范及实现,网络包协议分析3)OpenDDS中应用到的ACE、TAO知识点4)测试场景,包括功能测试场景、性能测试场景5)其他技术专题异步传输机制 可靠性(包核对、续传、frag分包机制、resemble重组机制)传输、 网络重连Reconnect机制 Spdp和Sedp发现机制,DCPSInfoRepo发现机制 内存管理,消息级内存、数据区内存、分配和释放 DDS传输类之间的关系,如Data原创 2022-05-31 13:00:28 · 1220 阅读 · 2 评论 -
OpenDDS使用基于XML的QoS策略
(一)传统方式,在代码中手动设置OpenDDS对象的QoS基于OpenDDS的应用开发,创建各种对象如Participant、Publisher、Subscriber、Topic、DataWriter、DataReader等,都是通过在代码中自行定义各自对象的QoS策略:优点是1)代码开发相对简单,针对固定QoS策略的发布-订阅传输,非常方便;2)大部分时候,使用缺省的QoS,如PARTICIPANT_QOS_DEFAULT、PUBLISHER_QOS_DEFAULT、TOPIC_QOS_D原创 2022-05-20 19:36:21 · 1140 阅读 · 0 评论 -
OpenDDS传输时延SimpleLatency测试
OpenDDS的高性能,体现在提供了数据传输的强实时效果,包括传输低时延LowLatency、高吞吐HighTPS、大带宽FullNet。低时延Latency性能测试,一般可通过几种手段来进行1)在pub和sub端机器时钟一致的情况下,在两台机器间进行pub和sub的传输时延测试;2)在具有两个或多个网卡的机上,可以通过绑定2个网卡,进行本机上的传输时延测试;(前提,机器的CPU资源足够用,避免单机运行pub/sub程序造成CPU、内存资源的争抢);3)对于普通机器而言,很难做到时钟一致的理想情况,原创 2022-05-01 07:48:15 · 1434 阅读 · 0 评论 -
OpenDDS集中发现服务DCPSInfoRepo(2)
DCPSInfoRepo,按照字面的翻译,即以数据为中心发布订阅的信息资源库,其实它是一个服务程序。DCPSInfoRepo是OpenDDS提供的三种端点Sedp发现模式之一,DCPSInfoRepo存储和管理以数据为中心发布订阅应用信息的资源库,并为所有的pub和sub方应用提供主题匹配中介服务。DCPSInfoRepo服务的功能选项:E:\OpenDDS-3.19_x86\bin>DCPSInfoRepo -?Usage: DCPSInfoRepo -a <addr...原创 2022-04-16 17:20:52 · 1340 阅读 · 0 评论 -
OpenDDS内部关键的idl文件(InfoRepoDiscovery)
InfoRepoDiscovery集中发现机制,是OpenDDS提供的pub和sub端发现的机制之一,对于满足复杂网络环境中主题的动态匹配,恰如其当。无论是部署复杂度还是适应性,都具有优秀的特点。OpenDDS学习者在初涉OpenDDS之初,一般都会使用集中发现RepoDiscovery机制,但使用仅仅局限于本机,1)repo.ior文件,可以满足本机或跨机的Repo集中发现;比如OpenDDS-3.19\DevGuideExamples\DCPS\Messenger测试用例;2)ORBListe原创 2022-04-09 10:03:14 · 1113 阅读 · 0 评论 -
OpenDDS内部关键的idl文件(Federation)
Federation联邦,是OpenDDS的Repo集中发现机制的集群机制,只不过目前一直是一个实验项目,无法达到真正的集群功能。具有Federation联邦功能的Repo集中发现集群,应该具有1)pub和sub方,应能动态选择可用的Repo资源库;2)各个Repo资源库之间应该具有session亲和能力,即实时同步各Repo资源库信息,做到全局性的主题资源和匹配状态的一致性和统一性;3)当某个Repo服务异常时,应该能将pub或sub方,重定向到其他的Repo服务;4)当某个Repo服务恢原创 2022-04-09 09:44:06 · 914 阅读 · 0 评论 -
OpenDDS的动态绑定bind_config传输配置和实例
我们都知道,OpenDDS的传输体系,实际上分为两个过程,一个是发现过程(RTPS对等发现、Repo集中发现和Static静态发现三类);一个是传输过程(TCP协议传输、UDP协议传输、Rtps_udp协议传输、Multicast组播协议传输和Shem单机共享内存传输)。发现机制的策略设置,可以通过命令行,也可以通过配置文件来指定;传输机制的策略设置,可以通过配置文件来指定,也可以采用代码内传输注册和绑定bind_config(OpenDDS::DCPS::TransportRegistry机制)原创 2022-04-06 18:23:23 · 1107 阅读 · 0 评论 -
OpenDDS有问必答
OpenDDS有问必答群,是应广大技术人员和爱好者的需要,面向OpenDDS开发者提供的服务群。本群承诺,对所有入群的朋友,我们提供有问必答、指导和解决大家的问题。服务内容,包括指导、释疑解惑和线上交流;不包括,如编码、调试、线下交流等(如需要,另行商定);详细了解和加入群组,请联系。群名称:OpenDDS有问必答1群Q Q群:200422036联系方式:Q Q:1421067726微 信:...原创 2018-05-10 13:00:37 · 852 阅读 · 0 评论 -
OpenDDS学习模型
有需要OpenDDS相关需求的朋友,可及时联系,1)OpenDDS编译、使用辅导;2)OpenDDS的bug调研和修改3)基于OpenDDS的应用级定制开发4)跨平台适配,如Andriod、VxWorks嵌入式等微信:transrock,QQ:1421067726...原创 2020-12-22 08:37:13 · 454 阅读 · 0 评论 -
OpenDDS通讯rtps_discovery对等发现模式的端口
rtps_discovery发现模式的通讯端口 (domainid=0)为例 广播地址和端口 单播地址和端口 Spdp通讯端口 239.255.0.1:7400 广播地址,也可以通过InteropMulticastOverride来设定,如InteropMulticastOverride=239.255.0.11,...原创 2018-02-08 08:25:45 · 1470 阅读 · 0 评论 -
OpenDDS集中发现的最简单配置文件repo.ini
OpenDDS集中发现的最简单配置文件repo.ini [common] DCPSDefaultDiscovery=DEFAULT_REPO DCPSGlobalTransportConfig=$file DiscoveryConfig=dcpsInfo DefaultTransportConfig=the_udp_transport [repository/dcpsInfo] RepositoryIor=111.222.222.111:1234.原创 2020-08-29 20:51:31 · 1057 阅读 · 2 评论 -
OpenDDS工具之一(dcpsinfo_dump)
(一)dcpsinfo_dump目的:用来输出集中发现服务DCPSInfoRepo资源库repo.ior中的所有核心OpenDDS::DCPS::DCPSInfo对象的基本描述(分类,如Participant、Topic、Publication、Subscription)。基本原理: 通过读取repo.ior文件中的IOR格式串,转换为CORBA::Object对象,再通过RPC调用dump_to_string方法,获取到DCPSInfoRepo服务进程的rep...原创 2022-02-08 18:15:18 · 894 阅读 · 0 评论 -
OpenDDS工具之五(ishapes)
E:\OpenDDS-3.19_x86\examples\DCPS\ishapes工具,是OpenDDS提供的基于QT5的有关QoS的可视化发布订阅的demo1)发布订阅三种数据报文,三角形Triangle、圆形Circle、正方形Square2)传输控制策略。发布方四种,Reliability可靠性、Ownership属主、Durability持久性、Priority优先级;订阅方五种,Reliability可靠性、Ownership属主、Priority优先级、H原创 2022-02-19 12:32:39 · 873 阅读 · 0 评论
分享