Spec-Zone.ru › Web APIs

RTCPeerConnection: событие datachannel

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

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

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

Событие datachannel отправляется экземпляру RTCPeerConnection, когда RTCDataChannel был добавлен к соединению в результате вызова RTCPeerConnection.createDataChannel() удалённым участником.

Примечание: Это событие не отправляется, когда локальный конец соединения создаёт канал.

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

Синтаксис

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

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

ondatachannel = (event) => {};

Тип события

Объект RTCDataChannelEvent. Наследуется от Event.

Событие RTCDataChannelEvent

Свойства события

Также наследует свойства из Event.

channel Только для чтения

Возвращает RTCDataChannel, связанный с событием.

Примеры

В этом примере настраивается функция, которая обрабатывает события datachannel, собирая информацию, необходимую для взаимодействия с вновь добавленным RTCDataChannel, и добавляя обработчики событий для событий, которые происходят на этом канале.

pc.addEventListener(
  "datachannel",
  (ev) => {
    receiveChannel = ev.channel;
    receiveChannel.onmessage = myHandleMessage;
    receiveChannel.onopen = myHandleOpen;
    receiveChannel.onclose = myHandleClose;
  },
  false,
);

receiveChannel устанавливается в значение свойства channel события, которое указывает на объект RTCDataChannel, представляющий канал данных, связывающий удалённого участника с локальным.

Этот же код может вместо этого использовать свойство обработчика событий ondatachannel интерфейса RTCPeerConnection, как показано ниже:

pc.ondatachannel = (ev) => {
  receiveChannel = ev.channel;
  receiveChannel.onmessage = myHandleMessage;
  receiveChannel.onopen = myHandleOpen;
  receiveChannel.onclose = myHandleClose;
};

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

Спецификация
WebRTC: Реальная передача данных в браузерах
# dom-rtcpeerconnection-ondatachannel

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

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

См. также

  • API WebRTC
  • Использование каналов данных WebRTC
  • Простой пример RTCDataChannel
  • RTCDataChannelEvent
  • 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/RTCPeerConnection/datachannel_event

Spec-Zone.ru

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