Я хотел бы понять, почему OpenDDS повторно отправляет те же последние данные n раз (где n - количество уже отправленных сообщений), когда DataWriter удален?Почему OpenDDS отправляет те же последние данные, когда DataWriter удален
Является ли это результатом определенного QoS, который я пропустил?
Выход небольшого теста я сделал:
Received data ! ID = 0 Text = Hello world !
Received data ! ID = 1 Text = Hello world !
Received data ! ID = 2 Text = Hello world !
Received data ! ID = 3 Text = Hello world !
Received data ! ID = 4 Text = Hello world !
Received data ! ID = 5 Text = Hello world !
Received data ! ID = 6 Text = Hello world !
Received data ! ID = 7 Text = Hello world !
Received data ! ID = 8 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Received data ! ID = 9 Text = Hello world !
Мы ясно видим, в этом примере 10 сообщений были отправлены и получены DataReader. Затем, как только DataWriter был удален (или во время удаления?), Появляется 10 повторений последнего полученного сообщения.
Вы проверяли флаг 'valid_data' в' SampleInfo' перед печатью содержимого образца? –
На самом деле я не проверял этот флаг. Включение этой проверки в моем коде, я смог ее отфильтровать, спасибо. Однако я нашел ответ на весь мой вопрос в Интернете ... – MSch8791