socket.io streaming binary data

2019-03-27 06:46发布

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.

4条回答
▲ chillily
2楼-- · 2019-03-27 07:28

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.

查看更多
放我归山
3楼-- · 2019-03-27 07:35
ゆ 、 Hurt°
4楼-- · 2019-03-27 07:37

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

查看更多
爱情/是我丢掉的垃圾
5楼-- · 2019-03-27 07:45

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.

查看更多
登录 后发表回答