選択した DDS ドメインで現在利用可能なトピックを取得できる最も単純な C# アプリケーションを作成しようとしています。しかし、私はそれを機能させることができないようです。
// Create the DDS Domain participant on domain ID 0
DDS.DomainParticipant participant =
DDS.DomainParticipantFactory.get_instance().create_participant(
0,
DDS.DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT,
null, /* Listener */
DDS.StatusMask.STATUS_MASK_NONE);
DDS.Subscriber sub = participant.get_builtin_subscriber();
DDS.DataReader reader1 = sub.lookup_datareader("DCPSTopic");
DDS.TopicBuiltinTopicDataDataReader builtinReader1 =
(DDS.TopicBuiltinTopicDataDataReader)reader1;
DDS.TopicBuiltinTopicDataSeq topicSeq = new DDS.TopicBuiltinTopicDataSeq(10) ;
DDS.SampleInfoSeq infoSeq = new DDS.SampleInfoSeq(10);
builtinReader1.read(topicSeq,
infoSeq,
10,
DDS.SampleStateKind.ANY_SAMPLE_STATE,
DDS.ViewStateKind.ANY_VIEW_STATE,
DDS.InstanceStateKind.ANY_INSTANCE_STATE);
上記のコードを実行すると、パブリッシャーとサブスクライバーの両方が同じドメイン (ドメイン 0) で実行および投稿しているにもかかわらず、最後の行 (builtinReader1.read(...)) で "Retcode_NoData" 例外が発生します。私のコードの何が問題なのか、何か考えはありますか?
ところで。DDS の RTI Connext 5.0 実装を使用しています。
よろしくジョン