通过Websockets通过二进制数据发送布尔值和数字

时间:2012-12-18 15:54:29

标签: javascript html5 binary websocket multiplayer

我正在用HTML5构建一个多人游戏。我已经完成了一些关于通过像Uint8Array这样的ArrayBuffers通过WebSockets发送二进制数据的阅读,因为我想避免尽可能多的开销(所以没有JSON)。但是,我仍然迷失在如何通过WebSocket实际发送特定变量类型(特别是1位布尔值)。

例如,我想通过1条消息中的二进制数据发送5个布尔值和3个数字(稍后要确定的精度)(因此没有多个发送)。在这种情况下:

  1. 号码 - 帧号
  2. 布尔 - W
  3. 布尔值 - A
  4. 布尔 - S
  5. 布尔 - D
  6. 布尔值 - 鼠标按下
  7. 数字 - 鼠标X
  8. 数字 - 鼠标Y
  9. 我该如何处理?我可以把它全部放入Uint8Array吗?那不是一个字节吗?如果我只需要说5位而不是8位,它还会占用8位怎么办?如何在ArrayBuffer中追加布尔值并从中提取布尔值?或者我是否完全使用了错误的方法?

    感谢您的帮助。

1 个答案:

答案 0 :(得分:1)