存在如何在 node.js 和包含二进制数据的浏览器之间共享缓冲区的问题。我对Socket.io作为传输层非常满意,但问题是没有为浏览器移植Buffer 类。无论如何我都找不到
我也遇到过binary.js,我想知道是否有一种好的方法可以将它们组合在一起,将 socket.io 作为传输层,将 Binary.js 作为数据介质。我也看到了这个问题,这是一种主题,但并没有真正解决问题。
我知道 socket.io 添加了二进制支持,但我没有找到关于该主题的任何文档。
更新:
看来 binary.js 不会是解决方案。我想要的基本要求是与浏览器共享 Buffer 在节点中具有的相同功能。
我的需求包括两件事:
在服务器和浏览器中以相同的方式处理缓冲区。
支持二进制数据。
我可能会使用数组缓冲区。
编辑:由于 node.js 在 V8 上运行,您可以使用 ArrayBuffer。好像问题已经解决了。然而,据我所知,节点人员认为创建缓冲区模块并在他们创建的 C 绑定中管理它是一个好主意(来自 Ryan Dahl 的演讲)。我认为这与如何通过网络进行缓冲有关。这意味着 ArrayBuffer 仍然不是服务器和浏览器之间共享的良好数据介质。