JavaScript WebSocket.binaryType — формат двійкових повідомлень


Властивість binaryType каже, у якому вигляді приходять двійкові повідомлення: 'blob' (за замовчуванням) чи 'arraybuffer'.

автор: NagarD

Загальний опис

Різниця практична. 'blob' зручний, коли дані треба показати чи зберегти — картинку одразу можна віддати в src.

'arraybuffer' потрібен, коли дані треба розібрати по байтах: власний двійковий протокол, звук, координати. Читати Blob для цього довелось би асинхронно — зайвий крок.

Задавати треба до того, як прийде перше повідомлення — інакше воно приїде в старому форматі.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
binaryType 16+ 11+ 7+ 12.1+ 12+ 10+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
binaryType 4.4+ yes yes 6+

Приклади

+ запропонувати свій приклад у пісочниці

Розбір власного двійкового протоколу.

const socket = new WebSocket('wss://example.com/stream');

// байти, а не Blob — щоб одразу розбирати
socket.binaryType = 'arraybuffer';

socket.onmessage = event => {
    if (typeof event.data === 'string') {
        console.log('Текст:', JSON.parse(event.data));
        return;
    }

    // свій двійковий протокол
    const view = new DataView(event.data);
    console.log('Тип пакета:', view.getUint8(0));
    console.log('Значення:', view.getFloat32(1));
};
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід