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