首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Node.js服务器和浏览器之间共享二进制缓冲区

在Node.js服务器和浏览器之间共享二进制缓冲区
EN

Stack Overflow用户
提问于 2012-09-01 23:34:12
回答 2查看 4.1K关注 0票数 18

存在如何在node.js和包含二进制数据的浏览器之间共享缓冲区的问题。我对Socket.io作为传输层非常满意,但问题是没有为浏览器移植Buffer class。不是我能找到的东西

我也遇到过binary.js,我想知道是否有一种好方法来将它们结合起来,将socket.io作为传输层,将Binary.js作为数据媒介。我也看到了这个question,这是一个主题,但并没有真正解决问题。

我知道socket.io添加了二进制支持,但我还没有找到任何关于这个主题的文档。

更新:

看起来binary.js不是解决方案。我想要的基本要求是与浏览器共享节点中Buffer所具有的相同功能。

我的需求包括两件事:

  1. 在服务器和浏览器中以相同的方式处理缓冲区。
  2. 支持二进制数据。

我可能会使用数组缓冲区。

编辑:因为node.js运行在V8之上,所以你可以使用ArrayBuffer。看起来问题似乎已经解决了。然而,据我所知,node人员认为创建一个buffer模块并在他们创建的C绑定中管理它是一个好主意(来自Ryan Dahl的一次演讲)。我认为这与如何在网络上进行缓冲有关。这意味着ArrayBuffer仍然不是在服务器和浏览器之间共享的好数据媒介。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-19 06:33:52

browser-buffer在浏览器中模拟节点的Buffer应用编程接口。

它是由Uint8Array支持的,所以browser support是粗略的。

票数 8
EN

Stack Overflow用户

发布于 2012-09-19 12:15:51

JavaScript的内置字符串在内部使用宽字符。因此它们可以很容易地在每个字符位置存储一个从0到255的值。这是一个JavaScript语言特性,因此它在浏览器或node.js中的工作方式应该是相同的。

可以使用charCodeAt提取字符串中特定位置的值,使用fromCharCode创建一个值在0到255之间的字符(可以添加到字符串中)。

您可以使用各种字符串函数来操作此表单中的数据。您可以像下面的"\x00\x12\x34\x56"一样使用JavaScript字符串常量创建常量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12229079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档