Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过WebSocket通过二进制数据发送布尔值和数字_Javascript_Html_Binary_Websocket_Multiplayer - Fatal编程技术网

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

Javascript 通过WebSocket通过二进制数据发送布尔值和数字,javascript,html,binary,websocket,multiplayer,Javascript,Html,Binary,Websocket,Multiplayer,我正在用HTML5构建一个多人游戏。我读过一些关于通过WebSocket通过ArrayBuffers(如Uint8Array)发送二进制数据的文章,因为我希望尽可能避免开销(因此没有JSON)。但是,我仍然不知道如何通过WebSocket发送特定的变量类型(特别是1位布尔值) 例如,我想通过一条消息中的二进制数据发送5个布尔值和3个数字(精度待以后确定)(因此没有多次发送)。在这种情况下: 编号-帧编号 布尔-W 布尔-A 布尔-S 布尔-D 布尔-鼠标按下 数字-鼠标X 数字鼠标Y 我将如何处

我正在用HTML5构建一个多人游戏。我读过一些关于通过WebSocket通过ArrayBuffers(如Uint8Array)发送二进制数据的文章,因为我希望尽可能避免开销(因此没有JSON)。但是,我仍然不知道如何通过WebSocket发送特定的变量类型(特别是1位布尔值)

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

  • 编号-帧编号
  • 布尔-W
  • 布尔-A
  • 布尔-S
  • 布尔-D
  • 布尔-鼠标按下
  • 数字-鼠标X
  • 数字鼠标Y
  • 我将如何处理这个问题?我能把它全部放进UInt8阵列吗?那不是一个字节吗?如果我只需要说5位而不是8位,它还会占用8位吗?如何向ArrayBuffer追加布尔值并从中提取布尔值?还是我完全用错了方法


    感谢您的帮助。

    您可以使用更易于编写数据流的DataView


    仔细查看了我的问题,发现我没有找到你的答案。抱歉耽搁了,谢谢你的帮助。