opendds 예제

opendds 예제
2 Agosto, 2019 fabio

이 MPC 파일을 사용하여 빌드 시스템에 대한 빌드 파일을 생성합니다. 예를 들어 GNU Makefiles를 생성하려면 가장 기본적인 예는 게시 단추를 클릭하여 원 게시를 시작한 다음 구독을 클릭하여 게시하는 동일한 원 토픽에 대한 구독을 시작하는 것입니다. 게시를 시작하자마자 흰색 가운데가 있는 표시 영역 주위에 녹색 원이 튀어나와 표시됩니다. 이는 이 응용 프로그램에서 시작된 게시된 개체임을 나타냅니다. 이 예제에서는 DDS DCPS 계층을 통해 데이터 샘플의 게시 및 구독을 보여 줍니다. 이 예제에는 주식 시장과 관련된 두 가지 DCPS 주제가 포함되어 있습니다. TCP 기반 예제에서는 게시자와 구독자 모두에게 하나의 구성 파일인 dds_tcp_conf.ini를 사용합니다. OpenDDS는 이식 가능하고 상호 운용 가능한 게시/구독 인프라를 제공합니다. 먼저 도메인 참가자를 만드는 등 많은 DDS 개념에 대해 조금 배웠습니다. DDS 게시자는 많은 독립 도메인에 게시할 수 있지만 이 예제에서는 하나의 도메인에만 게시합니다. TheDomainParticipantFactoryWithArgs 매크로를 사용하여 명령줄 인수를 DCPS에 전달하고 단일 도메인 참가자 팩터 팩토리를 가져옵니다. 도메인 참가자에 대한 기본 서비스 품질 정책을 사용하여 “견적” 도메인에 대해 하나의 도메인 참가자를 만듭니다. 팩터리에 전달된 QUOTER_DOMAIN_ID값은 게시자와 구독자에서 동일해야 합니다.

아래 링크된 페이지에는 OpenDDS의 다양한 기능을 보여 주는 예제 시나리오가 포함되어 있습니다: 각 주식 시세에 대한 견적 유형과 증권 거래소가 열리고 닫혀있는 시기를 나타내는 ExchangeEvent 유형의 두 가지 데이터 형식을 게시합니다. 일시 중단되거나 재개됩니다. DCPS_DATA_TYPE pragma는 DDS와 함께 사용할 형식을 표시합니다. 각 형식에 대해 정의된 DCPS_DATA_KEY는 데이터 형식의 각 인스턴스에 대한 고유 식별자입니다. 견적 유형의 키는 주식의 티커 기호입니다. 하루 종일 각 티커 기호에 대해 많은 값 또는 샘플을 게시할 것으로 예상됩니다. 각 티커 기호에 대해 게시된 샘플 집합은 동일한 인스턴스에 속합니다. 이 예제에서는 두 개의 시세 기호를 게시하고, 따라서 두 가지 경우: SPY(S&P 예금 영수증, 즉 S&P 500) 및 MDY(S&P Midcap Depository 영수증, 즉 S&P Midcap 400). 이 간단한 예에서 명백하지 않을 수 있는 것은 원의 중심이 흰색에서 어두운 색으로 가는 것이 실제로 두 DDS 엔터티 간의 검색, 엔터티 일치, 게시 및 구독 프로세스를 보여 주는 것입니다. 아래의 추가 예제 시나리오에서는 동시에 실행되는 여러 셰이프 데모 인스턴스를 사용하여 기능을 더 잘 보여 줍니다.

DCPS를 통해 게시하는 데는 세 가지 단계가 있습니다. 먼저 게시된 데이터 샘플에 대해 각 형식을 등록합니다. 이 예제에서는 견적 및 ExchangeEvent두 가지 IDL 유형의 샘플을 게시합니다. 둘째, 게시할 하나 이상의 주제를 만듭니다. 각 토픽은 한 형식에만 바인딩할 수 있습니다. 따라서 우리는 두 가지 유형 각각에 대한 주제를 만듭니다. 셋째, 각 토픽에 대한 데이터 기록기를 만들고 데이터 작성기를 통해 샘플을 게시합니다.