Возникает проблема использования буферов между 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 по-прежнему не является хорошим средством передачи данных между сервером и браузером.