このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 が閉じられています。

例

js
const peerConnection = new RTCPeerConnection(configuration);

// …

const connectionState = peerConnection.connectionState;

仕様書

仕様書
WebRTC: Real-Time Communication in Browsers
# dom-peerconnection-connection-state

ブラウザーの互換性

関連情報