RTCPeerConnection: connectionState プロパティ
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2023年5月以降、すべてのブラウザーで利用可能です。
connectionState は RTCPeerConnection インターフェイスの読み取り専用プロパティで、ピア接続の現在の状態を示す new、connecting、connected、disconnected、failed、closed のいずれかの文字列値を返します。
この状態は、本質的に、その接続で使用されているすべての ICE トランスポート(タイプが RTCIceTransport または RTCDtlsTransport であるもの)の集合状態を表します。
このプロパティの値が変更されると、connectionstatechange イベントが RTCPeerConnection インスタンスに送信されます。
値
接続の現在の状態を表す文字列です。この値は、以下のいずれかになります。
new-
接続の ICE トランスポート(
RTCIceTransportまたはRTCDtlsTransportオブジェクト)のうち、少なくとも 1 つがnew状態であり、かつそれらのいずれもconnecting、checking、failed、disconnectedのいずれでもない場合、あるいは接続のすべてのトランスポートがclosed状態にある場合です。 connecting-
現在、1 つ以上の ICE トランスポートが接続を確立しようとしています。 つまり、それらの
iceConnectionStateがcheckingまたはconnectedのいずれかであり、かつfailed状態にあるトランスポートが存在していません。 connected-
その接続で使用されているすべての ICE トランスポートは、使用中(
connectedまたはcompleted状態)か、閉じられた(closed状態)かのいずれかです。 さらに、少なくとも 1 つの転送がconnectedまたはcompletedの状態である。 disconnected-
その接続の ICE トランスポートのうち、少なくとも 1 つが
disconnected状態であり、それ以外にも他のトランスポートはいずれもfailed、connecting、checkingのいずれかの状態になっていない。 failed-
その接続の ICE トランスポートのうち、1 つ以上が
failed状態になっています。 closed-
RTCPeerConnectionが閉じられています。
例
const peerConnection = new RTCPeerConnection(configuration);
// …
const connectionState = peerConnection.connectionState;
仕様書
| 仕様書 |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-peerconnection-connection-state> |