openVidu 정리

구조

OpenVidu deployment : 실시간 통신에 필요한 모든 인프라 제공, 내부 측면이 중요하지 않은 블랙박스로 취급될 수 있음. 애플리케이션에서 배포하고 사용하기만 하면 됨. → 관심가질 필요가 없다.
Application server: OpenVidu deployment에서 제공하는 REST API를 사용한다. 세션, 연결을 생성하고, 영상 통화를 안전하게 관리할 수 있다. SDK를 사용할 수도 있고, REST API 엔드포인트를 직접 호출할 수 있음.
client: openvidu-browser.js를 사용해서 OpenVidu deployment와 통신하고, 세션 연결 가능

동작 순서

1.
application server에서 세션을 만든다.
2.
server에서 세션에 대한 connection을 만든다. 세션에 참여하는 인원만큼 connection 생성 필요. 각 연결에는 session에 대한 access권한을 주는 token이 있다.
3.
token을 클라이언트에게 전달
4.
각 client는 token을 사용해서 session에 연결한다. 성공하면 세션 참가자로 간주
5.
세션에 연결되면 스트림 게시, 다른 참가자들은 스트림에 참가 가넝

우리가 적용할 방법.

1.
[판매자] 라이브 등록하면 live_id가 생성된다.
2.
[판매자] 라이브 시작하면 createSession()
3.
[구매자] 클릭한 live_id가 있는 session이 있는지 확인
4.
[구매자] live_id도 있고, session도 있으면 → generate
5.
[구매자] live_id는 있는데, session이 없으면 → 아직 시작하지 않은 방송입니다.
6.
[구매자] live_id도 없고, session도 없으면 → 존재하지 않는 방송입니다.