crimsonsky2005
crimsonsky2005

Reputation: 2983

socket.io streaming binary data

I have just started using node.js, I'm running a node server with sockets.io and i need to send a buffer of bytes to the client.

I understand that this can be done by first translating the byte buffer to base64 and sending that, then translating it back on the client side. but i was wondering if there is a more elegant way of getting the byte stream to the client.

Upvotes: 8

Views: 16025

Answers (4)

Gaurav Ramanan
Gaurav Ramanan

Reputation: 3653

Socket.IO 1.0 Now supports Binary data transfer. Please have a look here . You can use Blob, ArrayBuffer and File.

Upvotes: 4

redben
redben

Reputation: 5686

There is also socket.io-stream https://github.com/nkzawa/socket.io-stream

Upvotes: 2

Nachiketha
Nachiketha

Reputation: 23575

It is little difficult to use binaryjs with socket.io. Try deliveryjs

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

which provides the means of communication between clients and server via socket.io.

However this module also uses the base64 conversion, which is a drawback.

Upvotes: 1

Yury Solovyov
Yury Solovyov

Reputation: 515

https://github.com/binaryjs/binaryjs can be a solution. base 64 have ~30% of overhead size, so if you need to transfer large amount of data it will become inefficient.

Upvotes: 2

Related Questions