ICE(Interactive Connectivity Establishment)는 2개의 피어를 연결하는 데 사용되는 프로토콜로, 2개의 피어 간의 모든 가능한 경로를 결정한 다음 연결되도록 보장합니다. 이러한 경로는 로컬 및 원격 transport 주소의 페어링인 Candidate Pair라고도 합니다. 이러한 주소는 로컬 IP 주소, 공개 IP 주소 또는 Relayed Transport 주소일 수 있습니다. 각 피어는 사용하려는 모든 주소를 수집하고, 교환한 다음, 연결을 시도합니다.
Addresses를 수집할 때 다음 이벤트가 호출될 수 있습니다.
OnRTCLocalCandidate
이 이벤트는 새 로컬 후보가 발견되었을 때 호출됩니다.
OnRTCRemoteCandidate
이 이벤트는 websocket 서버가 이 피어에게 원격 candidate를 보낼 때 호출됩니다.
OnRTCLocalDescription
이벤트는 TsgcRTCPeerConnection이 로컬 SDP를 필요로 할 때 호출됩니다
OnRTCRemoteDescription
이 이벤트는 websocket 서버가 원격 SDP를 이 피어에 보낼 때 호출됩니다.
피어가 연결할 수 있는지 테스트하기 위해 다른 피어에게 바인딩 요청을 보낼 때 다음 이벤트가 호출될 수 있습니다.
OnRTCCandidatePairNominated
두 피어가 모두 이 candidate 페어를 사용하여 연결할 수 있을 때 이벤트가 호출됩니다.
OnRTCCandidatePairFailed
피어가 이 후보 쌍을 사용하여 연결할 수 없을 때 이 이벤트가 호출됩니다.
OnRTCConnect
이 이벤트는 유효한 후보 쌍이 있고 DTLS가 활성화되지 않은 경우에 호출됩니다.
DTLS가 활성화된 경우 이 이벤트는 성공적인 DTLS 핸드셰이크 후에 호출됩니다.