注:クライアントとはブラウザを意味すると想定します。それ以外の場合は、詳細を明確にしてください。
Socket.ioは、主にさまざまなトランスポートを提供し、それらの多くがバイナリデータをサポートしていないため、バイナリデータをサポートしていません。
ただし、ネイティブWebSocketはBlobとArrayBufferをサポートします。
効率を上げるために本当にバイナリデータを使用したい場合(これがあなたの場合の方法であることに同意します)、socket.ioの代わりにwebsocketを使用することを検討する必要があると思います。
悪い人:
- ユーザーの約55%のみが、WebSocketをサポートするブラウザーでWebを閲覧しています。
- チャネル、emit、onメソッドなどのsocket.ioが提供する商品はありません。
いいもの:
WSを使用する場合は、次の項目を確認できます:http ://www.adobe.com/devnet/html5/articles/real-time-data-exchange-in-html5-with-websockets.html
それ以外の場合は、JSONを使用できます。
正直なところ、socket.ioと「ユニバーサル」サポートにJSONを使用する場合は、フラッシュトランスポートも有効にし、ゲームで低レイテンシが必要な場合は、低速のトランスポートを無効にします。