본문으로 건너뛰기
Version: 5.5

서브그룹 예제: 여러 서브그룹

예제를 통해 한 그룹 통화(컨퍼런스)에 여러 서브그룹이 있을 때 어떻게 동작하는지 살펴봅시다.

요구사항

이 예제의 요구사항은 다음과 같습니다.

  1. 방 안에 여러 서브그룹이 있음
  2. 참여자들은 방에 입장한 후 한 서브그룹을 선택할 수 있음
  3. 참여자들의 서브그룹 활동을 감시하는 숨겨진 노드 하나가 있음

애플리케이션 설계

이 예제를 위한 애플리케이션 설계는 다음과 같습니다.

  1. 사용할 수 있는 서브그룹 및 그 미디어 유형을 정의합니다.

    서브그룹통신 유형서브그룹 이름
    STUDY오디오 및 비디오study
    TRIP오디오trip
    WORKOUT오디오 및 비디오workout

    서브그룹 이름은 PlanetKit API가 사용하는 값입니다. 이 값은 유일해야 하며, NULL 문자를 포함해 길이가 16바이트보다 짧아야 합니다.

    여기서는 모든 참여자가 이미 위의 서브그룹 목록을 알고 있다고 가정합시다.

  2. 마스터와 참여자를 설정합니다.

    • 마스터는 모든 서브그룹을 구독합니다.
    • 참여자는 관심 있는 서브그룹 하나를 구독합니다.
  3. peerUpdate 속성값을 PRIVATE로 설정합니다.

    • 서브그룹에 가입한 마스터와 멤버는 OnPeerListUpdate를 이용해 누가 이 서브그룹에 가입했는지 알게 됩니다.
  4. videoUpdate 속성값을 TRUE로 설정합니다.

    • 비디오 스트림을 사용할 수 있습니다.

토폴로지

여러 서브그룹이 있는 방 예제 토폴로지

PlanetKit API 흐름

아래와 같은 상황에서 P1이라는 참여자가 STUDY 서브그룹에 가입할 때 PlanetKit API 호출 흐름을 알아봅시다.

  • TRIP 서브그룹
    • T1, T2가 가입 및 미디어 제어 완료
  • WORKOUT 서브그룹
    • W1, W2가 가입 및 미디어 제어 완료
  • STUDY 서브그룹
    • S1만 가입
  • 마스터(M)는 모든 참여자를 감시
    • 오디오를 음 소거하고 비디오를 비활성화
    • 모든 서브그룹의 음성 통화를 청취
    • STUDY와 WORKOUT 서브그룹의 비디오를 시청
  • P1은 오디오를 음 소거한 채 입장

여러 서브그룹이 있는 방 예제 흐름 Windows

P1은 아래처럼 STUDY 서브그룹 멤버와 통신합니다.

  1. P1이 STUDY 서브그룹에 가입합니다.
    • 서브그룹 멤버들(마스터 포함)은 알림을 통해 이 정보를 알게 됨
    • P1은 알림을 통해 S1이 비디오 스트림을 전송한다는 것을 알게 됨
    • STUDY 서브그룹의 오디오 스트림이 자동으로 P1에게 전송됨
  2. P1이 음 소거를 해제하고 STUDY 서브그룹에서 발언합니다.
    • P1의 오디오가 STUDY 서브그룹에 전송됨
  3. P1이 STUDY 서브그룹에 비디오를 전송합니다.
    • 서브그룹 멤버들은 알림을 통해 P1이 비디오를 활성화했다는 것을 알게 됨
    • 서브그룹 멤버들이 P1의 비디오를 수신하겠다고 요청함