Spec-Zone.ru › Web APIs

RTCPeerConnection: событие connectionstatechange

Событие connectionstatechange отправляется обработчику onconnectionstatechange объекта RTCPeerConnection после добавления нового трека в RTCRtpReceiver, который является частью соединения. Новое состояние соединения можно найти в connectionState, и оно является одним из строковых значений: new, connecting, connected, disconnected, failed, или closed.

Это событие не может быть отменено и не распространяется.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.

addEventListener("connectionstatechange", (event) => {});

onconnectionstatechange = (event) => {};

Тип события

Общее Event.

Примеры

Для RTCPeerConnection с именем peerConnection, в этом примере используется addEventListener() для обработки изменений подключения в сессии WebRTC. Он вызывает определённую приложением функцию setOnlineStatus() для обновления отображения статуса.

peerConnection.addEventListener(
  "connectionstatechange",
  (event) => {
    switch (peerConnection.connectionState) {
      case "new":
      case "connecting":
        setOnlineStatus("Connecting…");
        break;
      case "connected":
        setOnlineStatus("Online");
        break;
      case "disconnected":
        setOnlineStatus("Disconnecting…");
        break;
      case "closed":
        setOnlineStatus("Offline");
        break;
      case "failed":
        setOnlineStatus("Error");
        break;
      default:
        setOnlineStatus("Unknown");
        break;
    }
  },
  false,
);

Также можно создать обработчик события connectionstatechange с помощью свойства RTCPeerConnection.onconnectionstatechange:

peerConnection.onconnectionstatechange = (ev) => {
  switch (peerConnection.connectionState) {
    case "new":
    case "connecting":
      setOnlineStatus("Connecting…");
      break;
    // …
    default:
      setOnlineStatus("Unknown");
      break;
  }
};

Спецификации

Спецификация
WebRTC: Реальное общение в браузерах
# dom-rtcpeerconnection-onconnectionstatechange

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
connectionstatechange_event 72 79 113 60 11 72 113 51 11 11.0 72

См. также

  • API WebRTC
  • Подключение WebRTC
  • Срок действия сессии WebRTC
  • RTCPeerConnection.connectionState

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/connectionstatechange_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API