Ответ 1
browser-buffer эмулирует Node Buffer
API в браузере.
Он поддерживался Uint8Array
, поэтому поддержка браузера является отрывочным.
Возникает проблема использования буферов между node.js и браузером, содержащим двоичные данные. Я очень доволен Socket.io как транспортный уровень, но проблема в том, что не существует переноса Buffer class для браузера. Не все, что я могу найти в любом случае
Я также встретил binary.js, и мне было интересно, есть ли хороший способ объединить их с socket.io как транспортный уровень и Binary.js в качестве носителя данных. Я также видел этот question, который относится к теме, но на самом деле не решает проблему.
Я знаю, что socket.io добавил двоичную поддержку, но я не нашел никакой документации по этой теме.
Update:
Кажется, что binary.js не будет решением. Основное требование, которое я хочу, - предоставить те же возможности, которые Buffer имеет в node в браузере.
Мои потребности состоят из двух вещей:
Обрабатывайте буфер таким же образом как на сервере, так и на браузере.
Поддержка двоичных данных.
Я, вероятно, буду использовать Array Buffer.
Изменить: Поскольку node.js запускается через V8, вы можете использовать ArrayBuffer. Кажется, проблема решена. Тем не менее, из того, что я знаю, люди node решили, что это хорошая идея создать буферный модуль и управлять им в связях C, которые они создали (из разговора, данного Райаном Далом). Я думаю, что это связано с тем, как выполняется буферизация по сети. Это означает, что ArrayBuffer по-прежнему не является хорошим средством передачи данных между сервером и браузером.
browser-buffer эмулирует Node Buffer
API в браузере.
Он поддерживался Uint8Array
, поэтому поддержка браузера является отрывочным.
Встроенные в JavaScript строки используют широкие символы внутри. Поэтому они могут легко сохранить значение от 0 до 255 в каждой позиции символа. Это функция языка JavaScript, поэтому она должна работать одинаково в браузере или в node.js
.
Вы можете использовать charCodeAt
для извлечения значения определенной позиции в строке и fromCharCode
для создания символа (который вы можете добавить в строку) со значением от 0 до 255.
Вы можете использовать различные строковые функции для управления данными в этой форме. Вы можете создавать константы с помощью строковых констант JavaScript, таких как "\x00\x12\x34\x56"
.