eprosima fastDDS发现服务后writer立即发送消息,reader无法收到消息

项目开发中,使用FastDDS进行通信。但是发现以下问题:
同一PC中,先启动Subscriber应用程序,然后启动Publisher应用程序。

问题现象

当Publisher的on_publication_matched被回调后(即匹配到对应的Subscriber),直接调用write操作。
write操作能执行成功,但是Subscriber程序接收不到消息。

暂时对策

当Publisher的on_publication_matched被回调后(即匹配到对应的Subscriber),延迟70ms后调用write操作。
write操作能执行成功,Subscriber程序能正常接收到消息。

我的疑问

1 创建DataReader或DataWriter,有需要延时的必要吗?
2 on_publication_matched是publisher和subscriber创建后,只要主题匹配,马上调用吗?

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。