ICE(Interactive Connectivity Establishment)は 2 つのピアを接続するために使用されるプロトコルです。2 つのピア間のすべての可能なルートを決定し、接続されていることを確認します。これらのルートはキャンディデートペアとも呼ばれ、ローカルとリモートのトランスポートアドレスのペアリングです。これらのアドレスはローカル IP アドレス、パブリック IP アドレス、またはリレートランスポートアドレスになります。各ピアは使用したいすべてのアドレスを収集し、それらを交換してから接続を試みます。
アドレス収集時に呼び出されるイベントを以下に示します。
OnRTCLocalCandidate
このイベントは新しいローカル候補が見つかったときに呼び出されます。
OnRTCRemoteCandidate
このイベントは、WebSocketサーバーがこのピアへリモート候補を送信したときに呼び出されます。
OnRTCLocalDescription
このイベントは TsgcRTCPeerConnection がローカル SDP を必要とするときに呼び出されます
OnRTCRemoteDescription
WebSocket サーバーがリモート SDP をこのピアに送信したときにイベントが呼び出されます。
ピアが他のピアに接続できるかをテストするためにバインディングリクエストを送信するとき、次のイベントが呼び出される場合があります。
OnRTCCandidatePairNominated
両方のピアがこの候補ペアを使用して接続できる場合、イベントが呼び出されます。
OnRTCCandidatePairFailed
ピアがこの候補ペアを使用して接続できない場合、このイベントが呼び出されます。
OnRTCConnect
このイベントは有効な候補ペアが存在し、DTLS が有効でない場合に呼び出されます。
DTLS が有効な場合、このイベントは DTLS ハンドシェイクが成功した後に呼び出されます。