【问题标题】:Data type between client and server in websocket gameswebsocket游戏中客户端和服务器之间的数据类型
【发布时间】:2017-10-11 16:01:05
【问题描述】:

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

【问题讨论】:

  • 试试protobuf,它是在线上以二进制编码的数据,可直接解码为类/结构。

标签: websocket online-game


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2023-04-04
      • 1970-01-01
      • 2015-07-12
      • 2015-03-24
      • 1970-01-01
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多