socket.io流式二进制数据

时间:2012-09-01 13:43:32

标签: node.js socket.io

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

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

4 个答案:

答案 0 :(得分:4)

Socket.IO 1.0现在支持二进制数据传输。请看一下here。您可以使用Blob,ArrayBuffer和File。

答案 1 :(得分:2)

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

答案 2 :(得分:2)

答案 3 :(得分:1)

使用socket.io的binaryjs有点困难。 尝试deliveryjs

  

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

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

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