【发布时间】:2013-02-24 01:40:30
【问题描述】:
我正在尝试创建最简单的 C# 应用程序,它允许我获取所选 DDS 域中当前可用的主题。但我似乎无法让它工作。
// 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);
运行上面的代码时,我在最后一行 (builtinReader1.read(...)) 中收到“Retcode_NoData”异常,即使发布者和订阅者都在同一个域(域 0)中运行和发布。你知道我的代码有什么问题吗?
顺便说一句。我使用 DDS 的 RTI Connext 5.0 实现。
问候 约翰
【问题讨论】:
标签: c# data-distribution-service