websocket 游戏中客户端和服务器之间的数据类型

Data type between client and server in websocket games

我正在使用 socket.io 玩弄 websockets。我做了一个聊天室,但我想做一个实时游戏。 socket.io 文档说任何数据类型都可以通过 websockets 发送,所以我想知道发送玩家位置、速度和按键信息等数据最有效的数据类型是什么。
换句话说,在 agar.io 之类的游戏中,客户端和服务器之间真正发送的是什么类型的数据?是二进制,json,等等?

如果您在 JavaScript 中编码,只需使用 JSON,否则您将不得不将其转换回来。如果有一些更大的数据,比如图片,你可以考虑流式传输,看看 https://www.npmjs.com/package/socket.io-stream

最有效的数据包发送方式是二进制。 Agar.io 其他大部分网页游戏也用这个。您可以在索引 0 处为每个数据包指定不同的 OPCODE 以区分数据包。