2012-09-01 8 views
8

私はnode.jsの使用を開始しました。ノードサーバーをsockets.ioで実行しています。クライアントにバイトバッファを送信する必要があります。socket.ioストリーミングバイナリデータ

これは、最初にバイトバッファをbase64に変換して送信し、それをクライアント側に戻して変換できることを理解しています。しかし、クライアントにバイトストリームを取得するよりエレガントな方法があるのだろうかと思っていました。

+1

これは有効な回答だと思います。http://stackoverflow.com/a/24617425/950039満足していればコメントしてください。:) –

答えて

2

https://github.com/binaryjs/binaryjsは解決策になります。ベース64のオーバーヘッドサイズは約30%です。したがって、大量のデータを転送する必要がある場合、非効率的になります。

+1

私はbinaryjsを見ましたが、私のsocket.ioサーバーで動作させる方法が見つかりません。私はすでに書いたコードを破棄したくない。 – crimsonsky2005

1

socket.ioでbinaryjを使用するのは少し難しいです。 socket.ioを経由してクライアントとサーバ間の通信手段を提供deliveryjs

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

を試してみてください。

しかし、このモジュールもbase64変換を使用していますが、これは欠点です。

+0

そのリンクはまったく役に立たない。 –

4

Socket.IO 1.0は今のバイナリデータ転送をサポートしています。見てくださいhere。 Blob、ArrayBuffer、およびFileを使用できます。