(一)详解
OpenDDS提供了两种发现服务
DCPSInfoRepo服务,基于TAO(The ACE ORB)机制实现,其中ORB(Object Request Broker)对象请求代理,就是基于CORBA(Common Object Request Broker Architecture)通用对象请求代理架构实现的;
DCPSInfoRepo集中发现服务,作为publisher和subscriber发布订阅的中介服务器,起到了发布订阅主题的协调器作用,大体流程如下
1)publisher和subscriber向DCPSInfoRepo发布自己的应用主题信息和底层DDS对象;
2)DCPSInfoRepo集中发现服务,对(domainId,应用主题、消息类型、QoS)进行协调,对于匹配成功的pub和sub,分别反馈相应的信息;QoS不一致的,也反馈信息;
3)pub和sub,开始发布订阅的数据传输通信;
4)DCPSInfoRepo集中发现服务,实时监测publisher和subscriber的连接状态(集中发现的通讯,是基于TCP协议的),向此前匹配成功的pub和sub,反馈彼此对方的状态;
5)pub和sub,实时获取对方的状态,并进行CallBack回调处理
DCPSInfoR