Spec-Zone.ru › Web APIs

RTCDataChannel: свойство readyState

Базовая Широко доступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзывы

Только для чтения RTCDataChannel свойство readyState возвращает строку, которая указывает состояние базового соединения канала передачи данных.

Значения

Строка, указывающая текущее состояние базового транспортного средства, которая может принимать одно из следующих значений:

connecting

Пользовательский агент (браузер) находится в процессе создания базового транспортного средства; это состояние нового RTCDataChannel после его создания с помощью RTCPeerConnection.createDataChannel() на стороне узла, начавшего процесс подключения.

open

Базовое транспортное средство установлено, и данные могут передаваться в обоих направлениях. Это стандартное состояние нового RTCDataChannel, созданного слоем WebRTC, когда удаленный узел создал канал и передал его сайту или приложению в событии datachannel.

closing

Начался процесс закрытия базового транспортного средства. Больше невозможно добавлять новые сообщения в очередь, но ранее отправленные сообщения все ещё могут быть отправлены или получены, прежде чем произойдёт переход в состояние closed.

closed

Базовое транспортное средство закрыто или попытка подключения не удалась.

Пример

const dataChannel = peerConnection.createDataChannel("File Transfer");
const sendQueue = [];

function sendMessage(msg) {
  switch (dataChannel.readyState) {
    case "connecting":
      console.log(`Connection not open; queueing: ${msg}`);
      sendQueue.push(msg);
      break;
    case "open":
      sendQueue.forEach((msg) => dataChannel.send(msg));
      break;
    case "closing":
      console.log(`Attempted to send message while closing: ${msg}`);
      break;
    case "closed":
      console.log("Error! Attempt to send while connection closed.");
      break;
  }
}

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

Спецификация
WebRTC: Реальное время связи в браузерах
# dom-datachannel-readystate

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
readyState 24 79 22 15 11 25 24 14 11 1.5 4.4

См. также

  • WebRTC
  • Использование каналов передачи данных WebRTC
  • RTCDataChannel
  • RTCPeerConnection.createDataChannel()

© 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/RTCDataChannel/readyState

Spec-Zone.ru

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