我们都知道,OpenDDS的传输体系,实际上分为两个过程,
一个是发现过程(RTPS对等发现、Repo集中发现和Static静态发现三类);
一个是传输过程(TCP协议传输、UDP协议传输、Rtps_udp协议传输、Multicast组播协议传输和Shem单机共享内存传输)。
- 发现机制的策略设置,一般来说,可以通过命令行,也可以通过配置文件来指定;
- 传输机制的策略设置,一般来说,可以通过配置文件来指定;
对于网络状况比较复杂或应用级传输体系机制比较灵活的场景,也可以采用代码内传输注册和绑定(OpenDDS::DCPS::TransportRegistry::instance()->bind_config)的方式,来动态设置发现策略机制和传输策略机制,使得灵活应对不同场景(多网卡、多信道切换)、不同需求(不同协议的动态插拔)和不同项目(传输配置方式不统一)的需要。
OpenDDS::DCPS::TransportRegistry类用于构建OpenDDS::DCPS::TransportConfig和OpenDDS::DCPS::TransportInst类,完成传输时Config和Instance的定义和传输绑定。
OpenDDS传输注册OpenDDS::DCPS: