【问题标题】:When to use Photon Networking master client?何时使用 Photon Networking 主客户端?
【发布时间】:2016-06-10 08:12:11
【问题描述】:

我试图了解 Photon Networking 主客户端到底是什么。文档给出了该术语的 folowing 使用场景:

在没有服务器的情况下,它可以负责处理逻辑 只能由房间中的一个客户执行(例如开始比赛 当每个人都准备好了)。

为什么要将某些服务器功能委托给其中一个客户端? Photon Server 不应该一直可用吗?

例如,在this Photon 教程中他们使用引用“非常方便的功能”:

PhotonNetwork.automaticallySyncScene = true

如果是这样,MasterClient 可以调用 PhotonNetwork.LoadLevel() 和所有连接的玩家将自动 加载相同的关卡。

如果他们有 Photon 服务器,为什么要给其中一个客户端同步所有人的权限?

总结一下我有2个问题:

1) 究竟什么是主客户端?

2) 有哪些典型的使用场景?

非常感谢!

【问题讨论】:

    标签: unity3d photon


    【解决方案1】:

    Photon 服务器其实可以做一点。基本上它只帮助客户交换消息。

    由于服务器无法运行游戏逻辑,您有两种选择,要么在所有客户端上并行运行游戏逻辑,要么选择一个客户端来执行所有计算并将生成的游戏状态发送给所有其他客户端。有了这样权威的客户端,让所有客户端保持同步就容易多了。

    你不应该太在意哪个客户端是主人。它是自动分配的。如果当前主服务器断开连接,房间中的下一个客户端将接管。如果需要,您仍然可以手动切换主客户端。

    在实现游戏逻辑时,使用 PhotonNetwork.isMasterClient 属性检查当前客户端是否为主。如果您想从非主客户端触发某些操作,只需将 RPC 发送到主客户端,要求其执行操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 2022-09-28
      • 1970-01-01
      • 2022-11-07
      • 2021-05-05
      相关资源
      最近更新 更多