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

这里写目录标题

  • 插件开发
    • 两个模块
    • 传输插件配置
    • 开发语言
    • 其他

插件开发

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

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

+----------------------------+
|                            |
|               |
|                            |
+............................+
|           DDS API          |
|                            |
|              |
+............................+
|   Pluggable Transport API  |
|                            |
|  |
+----------------------------+

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

应用程序开发人员可以使用PT API开发自定义传输。 定制传输必须用C开发,他们可以链接到最终的应用程序。
轻松上手:Connext DDS传输插件开发教程_第1张图片

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

自定义传输插件开发基于Connext定义好的代码框架,框架主要提供了17个必须实现的回调接口:
轻松上手:Connext DDS传输插件开发教程_第2张图片
所有接口必须实现,其中重点函数包括:

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

两个模块

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

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

传输插件配置

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


     MASK_NONE
 
 
     
         customTransport://0.0.0.0
     
 
 
     
       
             dds.transport.load_plugins
             dds.transport.customPlugin
             0
         
        
             dds.transport.customPlugin.library
             custom_transports
             0
         
        
             dds.transport.customPlugin.create_function
             custom_Transport_xxxx_create
             0
                               
         
             dds.transport.customPlugin.address
             0.0.0.0
             0
            
          
             dds.transport.customPlugin.trace_level
             1
             0
            
     
 

开发语言

定制传输必须用C开发。

其他

略。。。

你可能感兴趣的:(中间件,udp,tcp/ip,http,中间件)