我完全理解 ROS 可能会丢失前几条消息,因为发布者订阅者尚未成功连接。
但是有没有保证发布者发送的所有消息都会成功传递给所有订阅者(如果消息队列没有溢出)?
最佳答案
假设发布者在订阅者之前成功初始化,并且消息队列没有溢出,那么 ROS 消息传递的保证本质上与 TCP 相同,因为这是发布者和订阅者使用的底层传输协议(protocol)。正如您从 Wikipedia 中得知的,TCP 是一种可靠的传输机制,但如果 Internet 连接断开和包超时,您的消息仍有可能丢失。
关于c++ - ROS 是否保证 msg 交付?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42580090/