4

アプリケーションで RTI ルーティング サービスを動作させるのに問題があります。

簡単な DDS パブリッシャー アプリケーションと簡単な DDS サブスクライバー アプリケーションを作成しました。アプリケーションは、LAN 経由で 2 台の異なるコンピューターで実行中に通信しますが、RTI ルーティング サービスを使用して WAN 経由で動作させることができません。

「RTI ルーティング サービス - 入門ガイド」の「例 8 - ルーティング サービスでの TCP トランスポートの使用」に従いました。また、RTI ルーティング サービス上で RTI Shapes Demo を実行することもできます。注意。私のアプリケーションは、RTI Shapes Demo と同じドメイン ID を使用しています

パブリッシャーは PC1 にあり、サブスクライバーは PC2 にあります。(rtiddsspy を使用して) PC2 が RTI ルーティング サービスからデータを受信して​​いることを確認できますが、サブスクライバー アプリケーションは PC2 で通知を受けません。

RTI ルーティング サービスで使用する DDS アプリケーションを作成する際に、特に注意する必要があることはありますか?

よろしくジョン

4

1 に答える 1

4

(rtiddsspy を使用して) PC2 が RTI ルーティング サービスからデータを受信して​​いることを確認できますが、サブスクライバー アプリケーションは PC2 で通知を受けません。

この情報から、最も可能性の高い原因は、ルーティング サービス パブリッシャとアプリケーション サブスクライバの間の QoS 設定の不一致であると言えます。これはいくつかの方法で確認できます。

  • システムの実行中に、Analyzer ツールを使用します (自由に使用できる場合)。各エンティティで使用されている QoS 設定を表示したり、QoS マッチング分析を行って不一致を明らかにしたりできます。
  • アプリケーションの DataReader でデフォルトの QoS 設定を使用すると、Routing Service の QoS 設定と競合する可能性が低くなります。その調整後に DataReader がデータを受信した場合、競合する QoS 設定が原因であることがわかります。

スパイが使用するデフォルトの QoS 設定では、この種の不一致が発生する可能性は低くなります。これが、スパイがメッセージを受信する理由です。

ご参考までに、このQoS ポリシー リファレンス ガイド / チート シートをご覧ください。Y最初のページで、列に がある QoS はRxO、不一致を引き起こす可能性があります。

于 2013-04-25T15:11:21.940 に答える