RTCDataChannel: свойство binaryType
Базовая Широко поддерживается *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Свойство binaryType на интерфейсе RTCDataChannel — строка, которая определяет тип объекта, который должен использоваться для представления двоичных данных, полученных по каналу RTCDataChannel. Допускаются значения свойства WebSocket.binaryType: blob (если используются объекты Blob) или arraybuffer (если используются объекты ArrayBuffer). Значение по умолчанию — arraybuffer.
Когда по каналу данных принимается двоичное сообщение, свойство message события MessageEvent.data представляет собой объект указанного типа binaryType.
Значение
Строка, которая может иметь одно из этих значений:
"blob"-
Содержимое полученных двоичных сообщений будет содержаться в объектах
Blob. "arraybuffer"-
Содержимое полученных двоичных сообщений будет содержаться в объектах
ArrayBuffer.
Пример
Этот код настраивает канал данных для приема двоичных данных в объектах ArrayBuffer и устанавливает обработчик событий message, который строит строку, представляющую полученные данные как список шестнадцатеричных значений байтов.
const dc = peerConnection.createDataChannel("Binary");
dc.binaryType = "arraybuffer";
dc.onmessage = (event) => {
const byteArray = new Uint8Array(event.data);
let hexString = "";
byteArray.forEach((byte) => {
hexString += `${byte.toString(16)} `;
});
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
binaryType |
24 | 79 | 22 | 15 | 11 | 25 | 24 | 14 | 11 | 1.5 | 4.4 |
arraybuffer_value |
24 | 79 | 22 | 15 | 11 | 25 | 24 | 14 | 11 | 1.5 | 4.4 |
blob_value |
129 | 129 | 22 | 115 | 11 | 129 | 24 | 86 | 11 | Нет | 129 |
См. также
© 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/binaryType