현재 선택한 DDS 도메인에서 사용할 수있는 항목을 얻을 수있는 가장 간단한 C# 응용 프로그램을 만들려고합니다. 그러나 나는 그것을 작동하게하는 것처럼 보일 수 없다. 위의 코드를 실행하는 경우DDS의 기본 항목 "DCPSTopic"구독
// 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);
, 내가 마지막 줄에 "Retcode_NoData"예외가 (builtinReader1.read (...)) 출판사와 가입자 모두 같은 도메인에서 실행하고 게시하는 경우에도 (도메인 0). 내 코드에 무엇이 잘못 될 수 있는지에 대해 알고 있습니까?
그건 그렇고. 나는 DDS의 RTI Connext 5.0 구현을 사용합니다. 하나는 예상대로
감사 RTI Connext와 존
하이 라이 니어, 의견을 보내 주셔서 감사합니다!나는 당신의 3 가지 제안을 구현했으며 현재 Subscription and Publication 내장 주제/자료실을 사용하고 있습니다. 하지만 내 응용 프로그램은 여전히 "Retcode_NoData"예외를 제외하고 어떤 피드백도 제공하지 않습니다. DDS 응용 프로그램 중 다른 응용 프로그램이 실행중인 랩톱에서 응용 프로그램을 실행 중입니다. 모두 0 도메인에 있지만 응용 프로그램에는 표시되지 않습니다. 무엇이 잘못되었을 지에 대한 다른 제안이 있습니까? 다시 한 번 감사드립니다! John – Rauhe
랩톱에서'rtiddsspy' 도구를 실행할 때 아무 것도 보이지 않습니까? 버스에서 모든 DataReader 및 DataWriter를 검색하고 항목 및 모든 업데이트 (오류로 인해)를 인쇄해야합니다. 그 결과가 표시되지 않으면 랩톱 설정에 문제가있는 것입니다. 결과가 표시된다면이 [code snippet] (http://pastebin.com/awEHZTBv)을 확인하고 그 것이 효과가 있는지 확인할 수 있습니까? 이를 디버깅하기 위해 랩톱에서만 시작하여 예를 들어 RTI의 Shapes 데모와 함께 스 니펫을 실행합니다. –
내 대신 코드 네피 닛을 실행 해 보았습니다. 내장 된 TopicReader는 결과가 없지만 게시자/구독자로부터 주제를 읽을 수는 있습니다. 당신의 도움을 주셔서 대단히 감사합니다 ! – Rauhe