【问题标题】:Can gRPC be used to write realtime applications like multiplayer games?gRPC 可以用于编写多人游戏等实时应用程序吗?
【发布时间】:2022-01-14 17:50:51
【问题描述】:

最近,我一直在阅读有关 Google 的 gRPC 的文章。我想知道这对于多人游戏这样的实时应用程序是否是一个不错的选择。

例如,我们可以为实时多人游戏构建一个使用 gRPC 的游戏服务器吗?

【问题讨论】:

    标签: go server grpc game-development multiplayer


    【解决方案1】:

    但是,实时多人游戏通常更喜欢使用 UDP 而非 TCP 进行流式传输,因为 TCP 可能会因重新排序和数据包确认等功能而产生大量延迟。

    gRPC 运行使用使用 TCP 的 HTTP/2,这在某些情况下会使其不适合。

    不过,这并不能阻止您使用 protocol buffers,这是 gRPC 使用的消息序列化,如果您喜欢的话。

    【讨论】:

    • 嗯,所以也许它非常适合回合制游戏,但不适用于实时游戏
    • @BerkeKaanCetinkaya 几乎任何东西都适用于回合制游戏。唯一真正的考虑是“延迟对你的游戏很重要”。 gRPC 不是实现极低延迟的解决方案,您是在比较两个不同的轴。
    • 在每毫秒都很重要的游戏中不推荐使用它,但您仍然可以将其用于非延迟敏感数据传输,例如游戏地图、分数、聊天。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多