socket.io streaming de datos binarios

Acabo de empezar a usar node.js, ejecuto un servidor de nodos con sockets.io y necesito enviar un búfer de bytes al cliente.

Entiendo que esto se puede hacer traduciendo primero el byte buffer a base64 y enviándolo, y luego traduciéndolo de nuevo en el lado del cliente. pero me preguntaba si hay una forma más elegante de enviar el flujo de bytes al cliente.

Socket.IO 1.0 ahora soporta transferencia de datos binarios. Por favor, eche un vistazo aquí . Puedes usar Blob, ArrayBuffer y File.

https://github.com/binaryjs/binaryjs puede ser una solución. la base 64 tiene ~ 30% del tamaño de la sobrecarga, por lo que si necesita transferir una gran cantidad de datos, será ineficiente.

También hay socket.io-stream https://github.com/nkzawa/socket.io-stream

Es un poco difícil usar binaryjs con socket.io. Prueba deliveryjs

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

que proporciona los medios de comunicación entre los clientes y el servidor a través de socket.io.

Sin embargo, este módulo también utiliza la conversión base64, que es un inconveniente.