HTML5でマルチプレイヤーゲームを構築しています。可能な限り多くのオーバーヘッドを回避したいので(JSONがないように)、Uint8ArrayなどのArrayBuffersを介してWebSocketを介してバイナリデータを送信する方法について読みました。ただし、WebSocketを介して特定の変数タイプ(特に1ビットのブール値)を実際に送信する方法については、まだ迷っています。
たとえば、5つのブール値と3つの数値(精度は後で決定されます)を1つのメッセージでバイナリデータを介して送信したいとします(したがって、複数の送信はありません)。この場合:
- 番号-フレーム番号
- ブール値-W
- ブール値-A
- ブール値-S
- ブール値-D
- ブール値-マウスダウン
- 番号-マウスX
- 番号-マウスY
これにどのようにアプローチしますか?すべてをUint8Arrayに入れることはできますか?それはバイトではありませんか?8ビットではなく5ビットだけを言う必要がある場合、それでも8ビットを使用しますか?ArrayBufferにブール値を追加したり、ArrayBufferからブール値を抽出したりするにはどうすればよいですか?それとも私は完全に間違ったアプローチを使用していますか?
助けてくれてありがとう。