socket.iostream二进制数据

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

我知道这可以通过首先将字节缓冲区翻译成base64并发送,然后在客户端翻译它来完成。 但我想知道是否有一个更优雅的方式获取字节stream到客户端。

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

https://github.com/binaryjs/binaryjs可以是一个解决scheme。 基地64有约30%的开销大小,所以如果你需要传输大量的数据,将变得低效率。

用socket.io使用binaryjs是很困难的。 尝试交付js

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

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

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