> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用多个 PlayFab Party 网络

> 关于多人游戏何时应同时连接到多个 PlayFab Party 网络,以及如何跨这些网络管理聊天和数据的指南。

# 多个网络

PlayFab Party 支持同时使用多个 PlayFab Party 网络。下图示例展示了在多网络场景中不同对象之间可能的关系。

<img src="https://mintcdn.com/microsoft-4404708b/dqv53299jA1M-fNi/images/playfab/multiplayer/networking/party-objects-in-multiple-networks.png?fit=max&auto=format&n=dqv53299jA1M-fNi&q=85&s=e714ccc5a71d813a17fd1e15985773a8" alt="PlayFab Party objects in multiple networks" width="440" height="318" data-path="images/playfab/multiplayer/networking/party-objects-in-multiple-networks.png" />

有关这些关系如何工作的更完整解释,请查看[PlayFab Party 对象及其关系](/services/playfab/multiplayer/networking/concepts-objects#object-relationships)文档。

本页将介绍使用多个网络何时合适、何时不合适,以及要避免的常见陷阱。

<Warning>
  同时使用多个 PlayFab Party 网络是一种高级场景,可能需要更复杂的游戏逻辑来管理。通常,使用多个网络的游戏场景可以重新设计或简化为仅需要一个网络,在围绕多个 Party 网络设计游戏的网络架构之前,应仔细评估这是否可行。有关何时适合或不适合使用多个网络的更多信息,请参阅下一部分[何时使用多个网络](#when-to-use-multiple-networks)。
</Warning>

## 何时使用多个网络

PlayFab Party 网络旨在为一组设备提供实时通信通道,用于交换游戏或聊天数据。当设备子集可能需要在不同的时间跨度内通信时,通常会用到多个网络。

多个网络的一个示例场景是管理“作战小队聊天”,即一组玩家(作战小队)希望跨多场游戏会话保持持续、无缝的聊天会话。例如:

* *玩家 A*、*玩家 B* 和 *玩家 C* 希望一起玩在线游戏。
* 他们各自创建一个聊天控件,一起加入一个 Party 网络,并将其聊天控件连接到该网络以启用聊天。
* 当他们与作战小队之外的其他玩家加入多人游戏会话时,他们加入另一个 Party 网络,并创建 Party 端点用于向该游戏会话网络中的所有玩家发送游戏数据。
* 在整个游戏会话期间,*玩家 A*、*玩家 B* 和 *玩家 C* 通过作战小队网络继续相互聊天。
* 游戏会话结束时,所有玩家离开各自对应的 Party 网络,但作战小队 Party 网络仍然处于活动状态,其参与者继续聊天而不会中断。

从此示例中得到的关键要点是,额外的 Party 网络为一组活跃玩家在单个游戏会话生命周期之外启用了实时通信。

如果玩家仅在游戏会话内被分成团队,那么使用多个网络是不合适的。在该场景中,更好的做法是在单个 Party 网络中使用[聊天权限](/services/playfab/community/voice-communications/concepts-chat#chat-permissions-and-muting)定义每个团队的聊天边界。

此外,如果长期存在的组不代表彼此实时通信的玩家(例如公会或无聊天大厅),使用多个网络也不合适。对于这些非实时场景,其他功能(如 [PlayFab Lobbies](/services/playfab/multiplayer/lobby) 或 [PlayFab Entity Groups](/services/playfab/community/associations/groups))可能更为合适。

## 跨多个网络的端点与聊天控件

值得注意的是,Party 端点和 Party 聊天控件在多网络场景中的交互方式不同。

端点代表为特定网络创建的数据消息通道。一个网络中的端点不能向另一个网络中的端点发送消息。

另一方面,聊天控件更紧密地代表单个玩家。单个用户只能有一个聊天控件。每个聊天控件可以同时连接到多个网络,并且只要与给定聊天控件关联的用户已通过身份验证进入所有关联网络,聊天控件就可以跨网络通信。无论是使用单一网络还是多个网络,都应通过[聊天权限](/services/playfab/community/voice-communications/concepts-chat#chat-permissions-and-muting)来定义聊天控件之间的通信边界。

## 成本

PlayFab Party 的使用量测量会受到玩家连接的网络数量的影响。*Party Connectivity* 计费计量按网络计算,因此同时使用多个网络的成本高于使用单个网络。在规划游戏架构时,请务必考虑成本影响。

你可以在 [PlayFab Party 定价](/services/playfab/pricing/meters/meters#party)页面上查看有关 PlayFab Party 成本的更多信息。
