그래프 작업
피어 그래프를 사용하는 경우 함수를 특정 순서로 호출해야 합니다. 호출 흐름은 피어 그래프를 만들거나 여는지 여부에 따라 달라집니다. 이 항목에서는 간단한 피어 그래프 애플리케이션에서 함수 호출의 흐름을 식별합니다.
그래프 시작
애플리케이션이 Peer Graphing API에서 함수를 호출하기 전에 PeerGraphStartup 호출하여 애플리케이션에 대한 Peer Graphing API를 초기화한 다음 지원되는 버전을 설정해야 합니다.
피어 그래프 만들기
다음 절차에서는 피어 그래프를 만들기 위한 호출 흐름을 식별합니다.
중요하다
단 하나의 피어만 PeerGraphCreate을 호출해야 합니다. 다른 모든 피어는 PeerGraphOpen호출해야 합니다. PeerGraphCreate에 대한 여러 호출은 그래프를 무효화할 있습니다.
피어 그래프를 만듭니다. PeerGraphCreate호출합니다.
동료 행사에 등록합니다. PeerGraphRegisterEvent을호출하십시오.
메모
피어 이벤트 등록에 대한 자세한 내용은 이벤트 인프라참조하세요.
피어 그래프에 대한 연결을 수신 대기합니다. PeerGraphListen호출합니다.
실행 시간의 나머지 부분에 대한 애플리케이션 종속 함수를 수행합니다(예: 피어 이벤트 처리 및 연결 작업).
피어 그래프 열기
피어 그래프를 여는 함수 호출의 흐름은 PeerGraphOpen대한 호출의 반환 값에 따라 달라집니다. 가장 중요한 값은 이 항목의 다음 섹션에 설명된 S_OK 및 PEER_S_DATA_CREATED.
메모
PeerGraphOpen 호출이 S_OK 또는 PEER_S_DATA_CREATED반환하지 않는 경우 오류를 처리합니다.
PeerGraphOpen이 S_OK 반환하는 경우
PeerGraphOpen 호출이 S_OK을 반환할 때, 피어 그래프와 기존 데이터베이스가 열립니다. 다음 절차에서는 PeerGraphOpen 호출이 S_OK 반환할 때 피어 그래프를 열기 위해 수행할 수 있는 작업을 식별합니다.
피어 이벤트에 등록하세요. 에 대해 PeerGraphRegisterEvent를 호출합니다.
메모
이벤트 등록에 대한 자세한 내용은 이벤트 인프라참조하세요.
노드를 찾습니다. 이 프로세스는 사용자가 식별하는 메서드 또는 애플리케이션을 사용하여 피어 그래프 인프라 외부에서 수행됩니다. 피어 그래프 API는 연결할 초기 그래프 노드를 찾는 특정 메커니즘을 제공하지 않습니다. 애플리케이션은 PNRP(피어 이름 확인 프로토콜) API와 같은 다른 메커니즘을 사용하여 초기 노드를 찾아야 합니다.
노드가 발견되면 노드에 연결합니다. PeerGraphConnect호출한 다음 PeerGraphListen 호출하여 피어 그래프에 대한 연결을 수신 대기합니다.
메모
노드를 찾을 수 없는 경우 PeerGraphConnect 및 PeerGraphListen을 호출하지 마십시오.
실행 시간의 나머지 부분에 대해 애플리케이션 종속 함수를 수행합니다(예: 피어 이벤트를 처리하고 노드가 피어 그래프에 연결되었는지 여부에 따라 연결 작업). 예를 들어 애플리케이션은 그래프에서 활성 노드에 대해 시간 제한을 선택하거나 주기적으로 검색을 수행할 수 있습니다.
피어 그래프에 대한 연결을 닫습니다. PeerGraphClose호출합니다.
PeerGraphOpen이 PEER_S_DATA_CREATED 반환하는 경우
PeerGraphOpenPEER_S_DATA_CREATED반환하면 피어 그래프에 대한 기존 데이터베이스를 찾을 수 없으며 새 데이터베이스가 만들어지고 처음으로 열립니다. 피어 그래프를 사용하거나 수신 대기하려면 피어를 피어 그래프에 연결하고 동기화해야 합니다.
다음 절차에서는 PeerGraphOpen 호출이 PEER_S_DATA_CREATED반환할 때 피어 그래프를 열기 위해 수행할 수 있는 작업을 식별합니다.
피어 그래프를 엽니다. PeerGraphOpen호출합니다.
피어 이벤트에 등록하세요. PeerGraphRegisterEvent호출합니다.
메모
피어 이벤트 등록에 대한 자세한 내용은 이벤트 인프라참조하세요.
노드를 찾습니다. 이 프로세스는 사용자가 식별하는 메서드 또는 애플리케이션을 사용하여 피어 그래프 인프라 외부에서 수행됩니다. 피어 그래프 API는 연결할 초기 그래프 노드를 찾는 특정 메커니즘을 제공하지 않습니다. 애플리케이션은 PNRP(피어 이름 확인 프로토콜) API와 같은 다른 메커니즘을 사용하여 초기 노드를 찾아야 합니다.
노드가 발견되면 노드에 연결합니다. PeerGraphConnect호출한 다음 PeerGraphListen 호출하여 피어 그래프에 대한 연결을 수신 대기합니다.
메모
노드를 찾을 수 없는 경우 PeerGraphConnect 및 PeerGraphListen을 호출하지 마십시오.
실행 시간의 나머지 부분에 대해 애플리케이션 종속 함수를 수행합니다(예: 피어 이벤트를 처리하고 노드가 피어 그래프에 연결되었는지 여부에 따라 연결 작업). 예를 들어 애플리케이션은 그래프에서 활성 노드에 대해 시간 제한을 선택하거나 주기적으로 검색을 수행할 수 있습니다.
피어 그래프에 대한 연결을 닫습니다. PeerGraphClose호출하세요.