Spec-Zone.ru › Web APIs

RTCDataChannel: метод close()

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

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

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

Метод RTCDataChannel.close() закрывает RTCDataChannel. Любая пара участников может вызвать этот метод для инициирования закрытия канала.

Закрытие канала передачи данных не происходит мгновенно. Большая часть процесса закрытия соединения обрабатывается асинхронно; вы можете определить, когда закрытие канала завершено, наблюдая за событием close в канале передачи данных.

После вызова этого метода происходит следующая последовательность событий:

  1. RTCDataChannel.readyState устанавливается в значение closing.
  2. Создаётся фоновая задача для обработки остальных шагов, и close() возвращает управление вызывающей стороне.
  3. Слой транспорта обрабатывает все буферизованные сообщения; слой протокола определяет, отправлять их или отбросить.
  4. Закрывается основная передача данных.
  5. RTCDataChannel.readyState свойство устанавливается в значение closed.
  6. Если транспорт был закрыт с ошибкой, получателю отправляется событие error с name установленным в NetworkError.
  7. Отправляется событие close в канал.

Синтаксис

close()

Параметры

Нет.

Возвращаемое значение

Ничего (undefined).

Примеры

const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel");

dc.onmessage = (event) => {
  console.log(`received: ${event.data}`);
  dc.close(); // We decided to close after the first received message
};

dc.onopen = () => {
  console.log("datachannel open");
};

dc.onclose = () => {
  console.log("datachannel close");
};

// Now negotiate the connection and so forth…

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

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

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

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

См. также

  • WebRTC
  • RTCDataChannel
  • RTCDataChannel.readyState
  • close событие

© 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/close

Spec-Zone.ru

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