-
시그널링 서버에 “소켓 connect 하기”
-
소켓이 connect되면
- getUserMedia로 얻은 local stream을 변수에 저장해두고 local video요소의 srcObject로 설정한다.
“방에 join 하기"
-
소켓이 방에 join되면 (방에 있는 기존 peer들의 소켓 id를 배열로 수신)
→ 각 peer와의 peerConnection을 생성하고 offer를 보낸다.
- peerConnection 생성 + peerConnection 이벤트 리스너 등록(onicecandidate, ontrack)
- peerConnection을 통해 송출될 stream에 local stream을 추가
- peerConnection offer 생성 및 local description으로 등록
"연결맺고싶은 peer에게 offer보내기”
-
소켓이 offer를 받으면 (offer, offer를 보낸 peer의 소켓 id를 수신)
→ offer를 보낸 peer와의 peerConnection을 생성하고 answer를 보낸다.
- peerConnection 생성 + peerConnection 이벤트 리스너 등록(onicecandidate, ontrack)
- peerConnection을 통해 송출될 stream에 local stream을 추가
- 전달받은 offer를 remote description으로 등록
- peerConnection answer 생성 및 local description으로 등록
"offer를 보낸 peer에게 answer보내기”
-
소켓이 answer를 받으면 (answer, answer를 보낸 peer의 소켓 id를 수신)
- 전달받은 answer를 remote description으로 등록한다.