Web-RTC 연결 과정

Web-RTC 연결 과정

1번째 참가자

시그널링 서버 연결

RTCPeerConnection 연결

  • 미디어 스트림 초기화
  • peerConnection 미디어 스트림 추가

peerConnection 데이터 채널 생성

  • offer 생성/전송
    • peerConnection : localDescription (offer) 추가
  • candidate 전송

2번째 참가자

시그널링 서버 연결

RTCPeerConnection 연결

  • 미디어 스트림 초기화
  • peerConnection 미디어 스트림 추가

peerConnection 데이터 채널 생성

  • offer 생성/전송
    • peerConnection : localDescription (offer) 추가
  • candidate 전송

1번째 참가자

  • candidate 수신 처리 (2번째 참가자)
    • peerConnection : IceCandidate (RTCIceCandidate (candidate)) 추가
  • offer 수신 처리 (2번째 참가자)
    • 데이터 채널 초기화
      • peerConnection.ondatachannel 콜백 구성
peerConnection.ondatachannel = function (event) {
        console.log("ondatachannel");
        dataChannel = event.channel;
        setupDataChannel(); // dataChanner callBack 구성
    };
    • peerConnection : remoteDescription (offer)추가
    • answer 생성/전송

2번째 참가자

  • answer 수신 처리 (1번째 참가자)
    • 기존 dataChannel 에 callBack 구성
    • peerConnection : remoteDescription (answer) 추가