2013-04-25 3 views
3

У меня проблема с обслуживанием службы маршрутизации RTI для работы с моими приложениями.Настройка службы маршрутизации RTI

Я создал простое приложение издателя DDS и простое приложение для подписчиков DDS. Приложения взаимодействуют во время работы на двух разных компьютерах по локальной сети, но я не могу заставить их работать через WAN с помощью службы маршрутизации RTI.

Я выполнил «Пример 8 - Использование транспорта TCP с службой маршрутизации» в «RTI Routing Service - Руководство по началу работы». И я могу получить демонстрацию RTI Shapes Demo для запуска службы RTI Routing Service. NB. Мои приложения используют те же идентификаторы домена, что и RTI Shapes Demo

Мой издатель находится на PC1, а абонент находится на PC2. Я могу видеть (используя rtiddsspy), что PC2 получает данные от RTI Routing Service, но приложение-подписчик не получает уведомление на PC2.

Есть ли что-то, что я должен особенно знать при создании приложений DDS для использования через службу маршрутизации RTI?

С уважением Джон

ответ

3

Я могу видеть (с помощью rtiddsspy), что PC2 получает данные от Routing Service RTI, но приложение абонент не получает уведомление о PC2.

Из этой информации я бы сказал, что наиболее вероятной причиной является несоответствие параметров QoS между издателем службы маршрутизации и подписчиком приложения. Вы можете проверить это несколькими способами:

  • Используйте инструмент Analyzer (если он у вас есть в вашем распоряжении) во время работы вашей системы. Он может отображать параметры QoS, используемые для каждого объекта, а также анализ соответствия QoS для выявления несоответствий.
  • Используйте настройки QoS по умолчанию с вашим приложением DataReader, поэтому он будет менее подвержен конфликтам с любыми параметрами QoS службы маршрутизации. Если ваш DataReader получает данные после этой настройки, то вы знаете, что причиной были конфликтующие настройки QoS.

QoS настройка по умолчанию Используемого шпиона, менее вероятно, причина такого рода несовпадений, что является причиной, почему шпионить делает получать сообщения.

Для справки вы можете ознакомиться с этим QoS Policy Reference Guide/Cheat-sheet. На первой странице любое QoS с Y в столбце RxO может потенциально вызвать несоответствие.

+0

Это была именно эта проблема. Я изменил параметры QoS для службы маршрутизации RTI, и он отлично работал. Спасибо! Не могли бы вы рассказать мне, можно ли настроить службу маршрутизации RTI, чтобы автоматически имитировать параметр QoS любого DataReader или DataWriter в системе? i.e вместо того, чтобы вручную устанавливать параметры QoS в службе маршрутизации в соответствии с DataReaders или DataWriters в системе, тогда служба маршрутизации могла бы сделать это сама? – Rauhe

+0

В настоящее время невозможно автоматически имитировать параметры QoS. Я знаю, что это было рассмотрено ранее, но пока не планируется (но еще не планируется). С одной стороны, это может быть удобным расширением, которое позволило бы избежать вашей проблемы. С другой стороны, это может быть рискованный подход. Предположим, что некоторые DataReader случайно используют неправильную настройку QoS.Если служба маршрутизации сначала обнаруживает этот DataReader, он будет имитировать неправильные настройки с возможными общесистемными последствиями. –

+0

Хорошо, хорошо знать фон для реализации. Большое спасибо за информацию :) – Rauhe

Смежные вопросы