轻松上手:Connext DDS传输插件开发教程

插件开发

RTI Connext DDS通过RTI可插拔传输API (PT API)与底层网络/通信传输进行交互。PT API位于DDS协议(DDS- rtps)层之下的协议栈中。 用于在domainparticipant之间发送和接收所有信息。

在发送端,PT API从DDS完整的RTPS包作为一个字节数组以及包的预期目的地(地址/端口)传递。 在接收端,PT API使用自己的内部传输机制获取这些数据包,并将它们交给上面的DDS-RTPS层。

+----------------------------+
|                            |
|         <Application>      |
|                            |
+............................+
|           DDS API          |
|                            |
|       <Connext DDS >       |
+............................+
|   Pluggable Transport API  |
|                            |
| <Transport Implementation> |
+----------------------------+

RTI Connext DDS使用PT API来实现捆绑在标准分发版中的所有支持的传输插件,包括UDP/IP、TCP/IP、TLS、DTLS、共享内存等。

应用程序开发人员可以使用PT API开发自定义传输。 定制传输必须用C开发,他们可以链接到最终的应用程序。
在这里插入图片描述

PT API的开发文档可以在这里找到。

自定义传输插件开发基于Connext定义好的代码框架,框架主要提供了17个必须实现的回调接口:
在这里插入图片描述
所有接口必须实现,其中重点函数包括:

  • 接收接口创建及销毁
  • 发送接口创建及销毁
  • 数据的发送及接收
  • 获取插件名称
  • 接收端地址初始化
  • 销毁插件

两个模块

完成了以下两个模块,基本上也就完成了插件开发。

  • 插件库模块
  • 插件配置模块

传输插件配置

可以通过xml文件的方式配置,也可以通过在代码中进行配置。

<transport_builtin>
     <mask>MASK_NONE</mask>
 </transport_builtin>
 <discovery>
     <initial_peers>
         <element>customTransport://0.0.0.0</element>
     </initial_peers>
 </discovery>
 <property>
     <value>
       <element>
             <name>dds.transport.load_plugins</name>
             <value>dds.transport.customPlugin</value>
             <propagate>0</propagate>
         </element>
        <element>
             <name>dds.transport.customPlugin.library</name>
             <value>custom_transports</value>
             <propagate>0</propagate>
         </element>
        <element>
             <name>dds.transport.customPlugin.create_function</name>
             <value>custom_Transport_xxxx_create</value>
             <propagate>0</propagate>
         </element>                      
         <element>
             <name>dds.transport.customPlugin.address</name>
             <value>0.0.0.0</value>
             <propagate>0</propagate>
         </element>   
          <element>
             <name>dds.transport.customPlugin.trace_level</name>
             <value>1</value>
             <propagate>0</propagate>
         </element>   
     </value>
 </property>

开发语言

定制传输必须用C开发。

其他

略。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值