8

我刚刚开始使用 node.js,我正在使用 sockets.io 运行一个节点服务器,我需要向客户端发送一个字节缓冲区。

我知道这可以通过首先将字节缓冲区转换为 base64 并将其发送,然后将其转换回客户端来完成。但我想知道是否有更优雅的方式将字节流发送到客户端。

4

4 回答 4

4

Socket.IO 1.0 现在支持二进制数据传输。请看这里。您可以使用 Blob、ArrayBuffer 和 File。

于 2014-07-07T18:34:54.800 回答
2

还有socket.io-stream https://github.com/nkzawa/socket.io-stream

于 2013-11-26T14:50:54.100 回答
2

https://github.com/binaryjs/binaryjs可以是一个解决方案。base 64 有大约 30% 的开销大小,因此如果您需要传输大量数据,它将变得低效。

于 2012-09-01T13:53:14.120 回答
1

将 binaryjs 与 socket.io 一起使用并不难。试试deliveryjs

https://github.com/liamks/Delivery.js

它通过 socket.io 提供客户端和服务器之间的通信方式。

然而,这个模块也使用 base64 转换,这是一个缺点。

于 2012-11-06T08:42:25.143 回答