DDS
文章平均质量分 68
道格拉斯范朋克
中间件
展开
-
Connext DDS实体的GUID构成
什么是GUID?在RTI Connext DDS部署中,每个实体 - 本地或远程 - 都可以通过其GUID进行单一标识,GUID是全球唯一标识符的首字母缩写。这样应用程序可以使用标识来忽略某些实体,识别发布某个样本的人员,或者检测哪个实体已更改其状态。在RTI Connext中,GUID实现为128位值(16个八位字节),并且可以以不同方式访问它。访问本地RTI Connex...原创 2019-04-02 19:39:53 · 1030 阅读 · 1 评论 -
RTI_DDS自定义插件开发 4 接收方
本节介绍用于接收消息的Transport Plugin接口。RecvResource概念 用于发送的SendResource的补充是用于接收的RecvResource。 RecvResource必须链接(关联)到一个特定的端口(也可能是多播地址),以接收通过传输发送给应用程序的消息。 与SendResources类似,传输插件可以共享多个端口的RecvResource。 对于NDDS希望接收...原创 2018-04-13 19:38:37 · 667 阅读 · 0 评论 -
RTI_DDS自定义插件开发 3 发送方
本节介绍发送消息的传输插件的接口。收集发送 当NDDS通过传输插件发送消息时,它将为传输插件提供一系列缓冲区。 传输插件负责将此缓冲区数组连接成传递的单个消息。 数组中所有缓冲区的连接是NDDS希望在传输的另一端收到的实际消息。 传输插件的接收端应仅向NDDS提供完整消息,而不是单独呈现构成消息的每个缓冲区。 因此,在发送端,传输插件可以一次将缓冲区数组发送到单个缓冲区,在接收端,它应...原创 2018-04-13 19:32:44 · 809 阅读 · 0 评论 -
RTI_DDS自定义插件开发 2 NDDS传输插件API
文档描述了使用NDDS抽象可插拔传输接口实现传输插件的方法。本文档假定对DDS标准的术语有一定的熟悉程度。开发插件需要四个方面:方法:每个Transport-Plugin实现必须提供的方法资源:通过Transport Plugin处理发送或接收消息所需的信息信息:支持从传输插件接收的消息监听者:传输插件用于通知传输插件中动态更改的NDDS内核的API详细说明:该方法抽象出NDDS用来发送和接收消息...原创 2018-04-13 18:08:36 · 1225 阅读 · 0 评论 -
RTI_DDS自定义插件开发 1
NDDS Transport-Plugin API提供了独立于底层物理传输设备的抽象通信模型。 NDDS的高层使用此API来发送和接收消息。实现NDDS Transport-Plugin API的代码可以插入到NDDS中间件框架中,允许用户几乎可以使用任何可以将数据从一个应用程序传输到另一个应用程序的物理传输。NDDS提供了几个内置的传输插件。 用户可以通过编写实现NDDS传输 - 插件API中描...原创 2018-04-13 16:38:53 · 799 阅读 · 3 评论 -
RTI_DDS线程模型
本章介绍Connext DDS用于发送和接收数据的内部线程,维护内部状态,并在事件发生时调用用户代码,例如新DDS的到来数据样本。 了解这些线程如何与您的交互可能很重要应用。DomainParticipant使用三种类型的线程。 实际的线程数取决于配置各种QosPolicies以及执行所使用的传输DomainParticipant发送和接收数据。通过各种QosPolicies,用户应用程序可以配置...原创 2018-04-13 16:25:57 · 2802 阅读 · 1 评论 -
RTI_DDS自定义插件开发 8 信息
支持从传输插件接收的消息。数据结构struct NDDS_Transport_Message_t用于存储从传输插件接收的消息的结构宏#define NDDS_TRANSPORT_MESSAGE_INVALID { { 0, NULL }, NULL }NDDS_Transport_Message_t的默认值。详细说明支持从传输插件接收的消息。当它的receive_rEA()方法被调用以将接收...原创 2018-04-14 15:37:36 · 398 阅读 · 1 评论 -
RTI_DDS自定义插件开发 6 监听者
传输插件用于通知传输插件中动态更改的NDDS内核的API。数据结构struct NDDS_Transport_Listener用于保存由Transport-Plugin实例调用的回调函数的结构,用于通知Transport Plugin状态发生动态变化。类型定义typedef void(* NDDS_Transport_Listener_Interface_Changed_Callback )(v...原创 2018-04-14 15:17:49 · 558 阅读 · 2 评论 -
RTI_DDS自定义插件开发 6 方法
每个Transport-Plugin实现必须提供的方法数据结构结构 NDDS_Transport_PluginImpl传输插件实现的基类“类”类型定义typedef struct NDDS_Transport_PluginImpl NDDS_Transport_Plugin所有传输的“纯虚拟类”=>所有传输实现都必须实现所有方法,即使它们是虚拟方法。 typedef RTI_INT32(...原创 2018-04-14 12:00:47 · 775 阅读 · 0 评论 -
RTI_DDS自定义插件开发 5 专属区域(_xxEA)
你已经注意到,这必须由交通运输插件实现的API函数的名称有一个神秘的后缀,或者_rEA,_srEA,_rrEA或_cEA。实际上,唯一没有的就是这个send()功能。这些后缀用于指示NDDS在调用函数时保证的多线程安全级别,以便可以简化插件实现这些函数。 该_xxEA后缀用于指示如何的功能被划分成不同的多线程安全组或独占 领域。 由于NDDS核心是多线程的,因此多个线程可能同时...原创 2018-04-14 11:48:43 · 489 阅读 · 0 评论 -
RTI_DDS自定义插件开发 9 API NDDS_Transport_Unshare_RecvResource_Fcn_rrEA
由NDDS调用以初始化传输插件,将消息发送到由传入的地址/端口定义的目标。返回一个传输插件定义(transport-specific)的数据结构(SendResource)的句柄,NDDS它来发送消息。当这个方法被调用时,NDDS期望传输插件准备通过它的接口发送消息,通过作为参数传递的地址和端口定义的特定目标。所以Transport Plugin必须做它需要做的事情来初始化特定传输硬件/软件的发送...原创 2018-04-25 19:41:19 · 431 阅读 · 0 评论 -
RTI_DDS自定义插件开发 10 官方案例
加速自主汽车的发展在高性能,安全关键环境中管理多种数据流管理高性能,安全关键环境中的各种数据流介绍RTIConnext®DDS为许多行业的自主应用提供核心连接,包括自动驾驶汽车。Connext DDS的根源在于自动化机器人技术,并广泛应用于交通,航空和医疗行业的任务关键和安全关键系统。它具有解决实时系统基本要求的先天能力,如可靠性,安全和性能。自动驾驶车辆是...原创 2018-04-25 20:19:25 · 4166 阅读 · 1 评论 -
RTI Perftest 的大样本测试
RTI Perftest可以将样本从28 Bytes发送到2,147,483,135 Bytes(2 GBytes - 512 Bytes - 8 Bytes),这对应于RTI Connext DDS能够在单个样本中发送的最大有效载荷。数据大小由命令行参数-dataLen <bytes> 。 根据此参数, RTI Perftest将自动配置某些RTI Connext DDS行为。在样本...原创 2018-05-22 19:48:48 · 1066 阅读 · 4 评论 -
DDS每个数据包和域ID大小的数据开销
1- DDS Connext v 5.2.0的数据开销是多少?我读了一篇关于它的文件(https://www.rti.com/hubfs/docs/DDS_Over_Low_Bandwidth.pdf),它说是56字节。但我想知道每个数据包的动态数据和动态类型的存储位置。我认为他们肯定需要更多空间。2-是否可以增加域ID大小?它是8位(0到232加保留ID)(例如将其增加到16位字)...原创 2019-01-02 19:01:00 · 1925 阅读 · 2 评论 -
DDS调试步骤
HOWTO对系统级DDS进行基本调试当您的应用程序之间没有通信或次优时,您可以执行一系列步骤来执行DDS系统的基本调试。1.他们实际上是在同一个网络/子网上吗?网络上的两台计算机可能具有不同的子网(例如,一台可能使用WiFi连接,另一台可能是有线的,这些可能位于不同的子网上,尽管本地交换机路由单播而不路由多播等,警惕网络和网络工程师,因为他们很狡猾,而且容易受到恶作剧的影响。L...原创 2019-01-02 14:09:04 · 4509 阅读 · 1 评论 -
实时发布 - 订阅(RTPS)
实时发布 - 订阅(RTPS)RTPS协议由Real-Time Innovations,Inc。开发,作为数据分发系统的有线协议。此页面仅包含对RTPS的简短介绍。有关更多详细信息,您可以访问以下来源: 实时发布 - 订阅线协议DDS互操作性线协议(DDSI):http://www.omg.org/spec/DDSI/ 完整的OMG DDS标准规范:ht...原创 2019-01-02 13:44:15 · 5647 阅读 · 1 评论 -
RTI路由服务入门手册
欢迎使用RTI®路由服务,这是一种开箱即用的解决方案,用于集成不同的和地理位置分散的系统。它可跨域,LAN扩展RTIConnext®DDS应用程序和WAN,包括防火墙和NAT遍历。路由服务还支持DDS到DDS通过允许您沿途的数据进行转换来进行桥接。这允许未经修改的DDS应用程序即使使用不兼容的方式进行通信也能进行通信接口定义。在集成新应用程序或遗留应用程序时,通常就是这种情况独立开发的系统...原创 2018-11-07 19:22:50 · 1211 阅读 · 1 评论 -
云发现服务 用于在动态环境中部署Connext DDS应用程序的独立应用程序,包括UDP / IP多播不可用的情况
在基于云的环境中配置发现的开箱即用解决方案介绍RTI Cloud Discovery Service是在无法使用UDP / IP多播的动态环境中部署RTIConnext®DDS应用程序所需的独立应用程序。这是典型的广域网或某些基于云的环境,其中路由器和交换机可能会禁用IP多播转发。DDS具有内置的发现机制,允许所有DDS应用程序自动检测其他应用程序的存在,并发现它们发布和订阅的主题以...原创 2018-11-07 14:03:19 · 809 阅读 · 1 评论 -
RTI路由服务---跨多个平台,系统和网络扩展和集成DDS系统
RTI路由服务是一种开箱即用的解决方案,允许开发人员快速扩展和集成不同或地理位置分散的实时系统。路由服务可用于跨不同域桥接DDS应用程序,以支持系统系统架构,互操作新旧应用程序,以支持新产品推出,同时维护上一代产品或集成独立开发的系统以进行渐进式系统升级。路由服务适配器SDK - 允许您构建网关,以便将Connext DDS与其他连接技术集成。Adapter SDK使您能够根据需要桥接多个网...原创 2018-11-07 13:54:15 · 1220 阅读 · 1 评论 -
RTI Support Corner:适合工作的合适工具
工业物联网互联网改变了人们的沟通方式,他们的工作方式以及他们如何协同工作。现在,它将机器和设备连接成智能系统,将改变世界。这些连接的系统构成了工业物联网(IIoT)。制品RTI提供专为工业物联网设计的智能连接框架。RTI Connext DDS提供简化,控制和监控最苛刻的IIoT系统所需的边缘到云连接软件。服务在设计,集成和部署关键任务工业物联网系统时,没有错误的余地。专...原创 2018-11-07 09:28:55 · 608 阅读 · 1 评论 -
DDS超低带宽通信
DDS的有限带宽插件本文描述了RTI为其OMG数据分发服务创建的许多附加功能(DDS)兼容中间件,专门用于解决受限网络通信的挑战。它会讨论一些示例网络类型并使用RTI数据分发服务提供解决方案。那么当我们谈论“受限制的”网络时,我们的意思是什么?本文将讨论问题和具有以下一个或多个特征的网络连接解决方案:•低带宽 - 例如,HF无线电链路的速度通常低至1200波特•有限的带宽 - 提...原创 2018-11-06 21:17:11 · 1830 阅读 · 5 评论 -
通过RTI_DDS传输大数据?
要通过DDS可靠地发送大数据,您需要使用异步发布器,它在外部中间件线程中发送用户数据。 你可以使用:Generic.StrictReliable.LargeData ,它使用默认流控制器启用异步发布(即,无流控制)。Generic.StrictReliable.LargeData.FastFlow ,它使用100 MB /秒(838 Mb / sec流量控制器实现对大数据的严格可靠通信。Gener...原创 2018-07-14 15:57:52 · 4466 阅读 · 0 评论 -
RTI_DDS可靠数据读取器不能接收所有数据样本
入调用将被阻止。 当所有已知的数据阅读器已经确认收到它们时,才从发送队列中清除消息。严格的可靠性需要以下QoS设置:可靠性QoS种类= DDS_RELIABLE_RELIABILITY_QOS历史QoS种类= DDS_KEEP_ALL_HISTORY_QOS如果设置了这些QoS策略,则在以下情况下仍可能会丢失问题:数据写入器开始发送时,数据读取器未启动。 认识到数据写入器只保证可靠的数据传输给已知...原创 2018-03-22 11:04:16 · 1080 阅读 · 0 评论 -
RTI_DDS使用参与者QoS属性编辑传输TCP
编写了一个简单的示例应用程序 ,演示如何使用TCP v4 LAN传输。 它会根据您在帖子中添加的设置设置参与者。请注意,发布者和订阅者应用程序的参与者共享与我在下面的代码片段中设置的相同的QoS设置。 唯一的区别是发布服务器和订阅服务器应用程序中的dds.transport.TCPv4.tcp1.server_bind_port值不同(即发布服务器应用程序中的7400和订阅服务器应用程序中的740...原创 2018-03-22 10:43:53 · 2559 阅读 · 1 评论 -
RTI-Discovery之什么是发现
发现是Connex DDS对象(DomainParticipants,DataWriters和DataReaders)在不同节点上相互了解。每个DomainParticipant维护一个关于所有活动的DataReader和DataWriters相同的信息的数据库DDS域。这个数据库使得DataWriters和DataReader可以进行通信。为了创建和刷新数据库,每个应用程序都遵循一个共同的发现过...原创 2018-03-23 10:40:21 · 628 阅读 · 1 评论 -
OpenDDS开发手册---第二章(开始)2
2.1.3.2 注册数据类型并创建主题 首先, 我们创建一个 MessageTypeSupportImpl 对象, 然后注册带类型名字的类型使用 register_type () 操作的名称。在本例中, 我们将类型注册为空字符串类型名称, 这将导致 MessageTypeSupport 接口存储库标识符用作类型名称。特定类型名称 (如 "Message") 也可用。Messeng原创 2017-06-11 15:47:53 · 1910 阅读 · 0 评论 -
OpenDDS开发手册---第二章(开始)1
2.1 使用DCPS 本章重点介绍一个示例应用程序, 使用 DCPS 将数据从单个发布程序到单个订阅服务器进程。它是基于一个简单的信息应用,单个发布者发布信息,单个订阅者订阅消息的应用程序, 单个订阅服务器订阅给他们。我们使用默认的 qos 属性和默认的 tcp/ip 传输。此示例所有源代码可以在$DDS_ROOT/DevGuideExamples/DCPS/Messenger/ 目录下原创 2017-06-11 15:29:54 · 4560 阅读 · 0 评论 -
OpenDDS开发手册---第一章4
1.3 安装 有关如何构建 OpenDDS 的步骤可以在 DDS_ROOT/INSTALL中找到。为了避免编译您将不使用的 OpenDDS 代码, 有某些功能比可以排除编译。下面将讨论这些功能。 需要小型内存配置或与安全有关的兼容性的用户平台应考虑使用 将在13章介绍的OpenDDS 安全配置文件。1.3.1 使用启用或禁用的有特点的生成 大多数功能都由配置脚原创 2017-06-11 14:42:45 · 2419 阅读 · 0 评论 -
DDS (Data Distribution Service) 数据分发服务-规范中文翻译-1
Preface 序言声明:本人非专业翻译,如有错误可留言。如上所述,OMG规范处理中间件,建模和垂直领域框架。所有OMG正式的规格都可以从这个网址获取:http://www.omg.org/spec其他相关文档目录OMG Document Number: formal/2015-04-10Standard document URL: http://www.omg.org...原创 2016-12-02 11:03:43 · 10713 阅读 · 1 评论 -
DDS (Data Distribution Service) 数据分发服务-规范中文翻译-2
2 Data-CentricPublish-Subscribe (DCPS)数据为中心的发布订阅2.1 总结这一条款描述了DCPS。DCPS定义应用程序用于发布和订阅到数据对象的值的功能。它允许:•发布应用程序来识别他们打算发布的数据对象,然后为这些对象提供值。•订阅应用程序来识别他们感兴趣的数据对象,然后获取他们的数据值。•应用程序定义主题、将类型信息附加到主题原创 2017-05-22 21:54:43 · 3229 阅读 · 2 评论 -
OpenDDS开发手册---第一章3
1.2 OpenDDS实现1.2.1 法规遵从性 OpenDDS 符合 omg dds 和 omg DDSI-RTPS 规范。遵守的细节情况如下。1.2.1.1 dds 合规性原创 2017-05-29 17:56:48 · 8490 阅读 · 0 评论 -
OpenDDS开发手册---第一章2
1.1.2 内置主题原创 2017-05-28 15:51:35 · 2069 阅读 · 0 评论 -
OpenDDS开发手册---前言
前言什么是openDDS?OpenDDS 是两篇Object Management Group (OMG)规范的一个开源实现。1) Data Distribution Service (DDS) for Real-Time Systems v1.4(OMG Documentformal/2015-04-10). 实时数据分发服务。This specification detai原创 2017-02-16 22:48:18 · 6441 阅读 · 0 评论 -
openDDS在win下的编译
1、下载OpenDDS编译的基础是在ACE与TAO的编译基础之上,参见:http://blog.csdn.net/xinqingwuji/article/details/47068851OpenDDS下载地址http://download.ociweb.com/OpenDDS/,下载完成后加压到制定的目录,例如博主的目录是E:\OpenDDS,那么设置环境变量DDS_ROOT=E:...原创 2016-11-26 21:33:12 · 3473 阅读 · 0 评论 -
OpenDDS开发手册---第二章(开始)3
2.1.4 设置订阅服务器 大部分订户的代码是相同的或与我们刚刚完成探索的发布者类似, 我们将迅速通过类似的部分进展, 并请您到讨论以上详细信息。此示例订阅服务器的完整源代码在Subscriber.cpp 和 DataReaderListener.cpp 文件$DDS_ROOT/DevGuideExamples/DCPS/Messenger/.2.1.4.1 初始化参与原创 2017-06-11 15:59:47 · 1600 阅读 · 0 评论 -
OpenDDS开发手册---第二章(开始)3
2.1.5 数据读取者侦听器实现 我们的侦听器类实现 由 dds 规范定义的 DDS::DataReaderListener 接口,DataReaderListener 包裹在一个 DCPS::LocalObject解析 _narrow 和 _ptr_type 等含糊继承的成员。接口定义了一定数量的操作, 我们必须实现, 其中每一个被调用, 以通知我们不同的事件。OpenDDS:原创 2017-06-11 16:21:18 · 1842 阅读 · 0 评论 -
OpenDDS开发手册---第二章(开始)4
2.1.7 运行实例 我们现在可以运行我们的简单示例了。运行这些命令窗口应该使你最容易理解的输出。 首先, 我们将开始一个 DCPSInfoRepo 服务, 所以我们的出版商和订户可以找到一个另一个。注意:如果使用对等搜索来配置使用 RTPS 发现的环境。 DCPSInfoRepo 可执行文件在 $DDS_ROOT/bin/DCPSInfoRepo。当我们原创 2017-06-11 16:58:50 · 3029 阅读 · 0 评论 -
RTI_DDS调试日志
1 - 查找日志警告或错误消息。您可以在DDS应用程序中启用日志消息。 根据您想要查看的消息类型,有不同的详细级别。 通常我们建议客户使用“警告”级别来查看最常见的问题。 如果您在某些情况下需要更多详细信息,可以将详细级别提高为“全部”。 但是,请注意,设置最高级别会输出很多消息。您可以通过XML或代码设置日志记录。 要通过XML(例如警告详细信息并将输出发送到文件)执行此操作,需要将以下设置添加...原创 2018-03-12 19:20:29 · 1426 阅读 · 0 评论 -
TCP传输初始对等(初始化设置)
本节介绍如何指定TCP传输初始对等体。本节介绍如何指定TCP传输初始对等体。通过TCP传输,在发现过程中将联系的初始对等方(NDDS_DISCOVERY_PEERS)的地址具有以下格式:对于WAN通信:tcpv4_wan:// <IP地址或主机名>:<端口>对于LAN通信:tcpv4_lan:// <IP地址或主机名>:<端口>例如:setenv N...原创 2018-03-16 14:27:56 · 709 阅读 · 1 评论 -
使用属性QoS策略配置TCP传输
可用于通过DomainParticipant的属性QoS策略配置TCP传输插件的预定义属性。可用于通过DomainParticipant的属性QoS策略配置TCP传输插件的预定义属性。属性名称描述需要?dds.transport.load_plugins以逗号分隔的字符串,指示将由RTI Connext加载的所有插件的前缀名称。最多可以指定8个插件。例如,“dds.transport.TC...原创 2018-03-16 11:35:00 · 1885 阅读 · 1 评论