> ## 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 連接埠使用方式、防火牆和封包大小需求。

## 通訊模式

PlayFab Party 使用兩種通訊模式：

1. HTTPS 通訊，由 API 呼叫者向多個雲端 Web 服務 (包括 *playfabapi.com*) 起始。

2. 與透明雲端轉送伺服器以及其他對等裝置 (若支援) 之間以 UDP 通訊端為基礎的安全通訊。

如果任一模式遭到封鎖，早期的 PlayFab Party API 作業或自動通知 (例如初始的 [`PartyRegionsChangedStateChange`](/zh-TW/services/playfab/multiplayer/networking/reference/structs/partyregionschangedstatechange)) 將會回報 [`PartyStateChangeResult::InternetConnectivityError`](/zh-TW/services/playfab/multiplayer/networking/reference/enums/partystatechangeresult)。

對於 Web 服務要求問題，Party 以外的其他必要 PlayFab 和平台作業 (例如使用者登入函式) 也可能會失敗。這些失敗通常是由本機防火牆限制或 HTTPS 連線的 Proxy 需求所造成。大多數問題都可以透過啟用從本機裝置或網路到雲端 Web 服務的直接輸出 HTTPS 通訊來解決。

## HTTPS 網域名稱

Microsoft PlayFab Party 會對多個雲端服務執行 UDP 和 HTTPS 連線。為了確保功能正常運作，根據網域名稱篩選 HTTPS 流量的環境需要確保下列名稱或名稱模式可以存取：

HTTPS 連線：

* *\*.playfabapi.com*
* *\*.speech.microsoft.com*
* *api.cognitive.microsofttranslator.com*

此網域名稱清單可能會變更，恕不另行通知。請定期檢查此清單，並預期會有變更。

## MTU 和封包大小

PlayFab Party 會自動執行分割和重組，讓大型應用程式訊息符合環境的封包大小限制。儘管有此功能，某些網路環境仍可能導致通訊失敗。

PlayFab Party 目前預期環境支援至少 1,419 位元組的最大傳輸單位 (MTU) 大小，以避免效能不佳或可能的連線失敗。一般環境都支援此 MTU 大小。虛擬私人網路 (VPN)、IPv4/IPv6 通道或明確的系統管理設定，可能會在 Party 用戶端、服務或其他用戶端之間網路路徑的單向或雙向上降低 MTU 大小。

如果特定環境中端對端支援的 MTU 不足，[`PartyManager::ConnectToNetwork`](/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_connecttonetwork) 作業可能會因 [`PartyStateChangeResult::InternetConnectivityError`](/zh-TW/services/playfab/multiplayer/networking/reference/enums/partystatechangeresult) 而失敗。或者，連線可能成功，但裝置可能會遇到不必要的延遲、封包遺失或非預期的中斷連線。

某些平台會為終端使用者、開發人員或網際網路服務提供者提供工具，協助針對其環境中的 MTU 設定進行疑難排解，如果可能，應使用這些工具。

## 本機裝置 UDP 連接埠使用方式

根據預設，在大多數平台上，PlayFab Party 程式庫會將其 UDP 通訊端繫結至作業系統動態指派的可用本機連接埠。例外是 Microsoft Game Core，在該平台上，PlayFab Party 預設會繫結至該平台的「慣用本機 UDP 多人遊戲連接埠」。

遊戲可以在呼叫 [`PartyManager::Initialize()`](/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_initialize) 之前設定 [`PartyOption::LocalUdpSocketBindAddress`](/zh-TW/services/playfab/multiplayer/networking/reference/enums/partyoption) 選項，以變更此行為，繫結至特定的本機連接埠號碼，或繫結至 Microsoft Game Core「慣用本機 UDP 多人遊戲連接埠」以外由作業系統選取的可用連接埠。如果要求的連接埠已在您的遊戲中使用，或已被裝置上的其他應用程式使用，則 [`PartyManager::Initialize()`](/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_initialize) 會立即回報錯誤，或初始的 [`PartyRegionsChangedStateChange`](/zh-TW/services/playfab/multiplayer/networking/reference/structs/partyregionschangedstatechange) 會回報 [`PartyStateChangeResult::FailedToBindToLocalUdpSocket`](/zh-TW/services/playfab/multiplayer/networking/reference/enums/partystatechangeresult) 錯誤，且非同步的網路建立或連線作業將會失敗。

建議遊戲使用預設的本機連接埠選取行為，以獲得最大且無需設定的相容性，除非終端使用者基於特定環境的原因提出要求。如果您的遊戲使用非預設值，可能會有更多平台專屬需求。如需連接埠使用方式的指引，請參閱各平台的文件。

PlayFab Party 通訊一律需要允許從此選取的本機 UDP 連接埠，對下一節所述的遠端目的地傳送輸出起始的封包及其後續回覆。網路系統管理員應遵循防火牆和網路位址轉譯 (NAT) 的網際網路標準最佳做法，例如 [RFC 4787 -「Network Address Translation (NAT) Behavioral Requirements for Unicast UDP」](https://datatracker.ietf.org/doc/html/rfc4787)，以獲得最大的相容性。這些最佳做法對於為 Party 網路使用直接對等連線的遊戲特別重要，因為支援程度最低的環境可能允許連線到網路，但會阻止建立裝置之間的直接通訊。

## 遠端 IP 位址和 UDP 連接埠

Microsoft PlayFab Party 在多個區域提供動態調整規模的服務，為使用者提供最佳延遲。這表示沒有永久的遠端目的地主機名稱、IP 位址或連接埠，可供有意嚴格限制通訊的網路系統管理員參考。

Microsoft 每週提供 Azure 的 IP 位址範圍清單更新，[可供下載](https://www.microsoft.com/download/details.aspx?id=56519)。如果可行的話，以持續同步的原則限制本機網路流量時，此清單可能會很有用。在大多數情況下，持續維護此清單是一項挑戰，而且容易造成難以察覺的連線失敗。此外，對於 Party 網路中的直接對等連線，也必須知道遠端用戶端的 IP 位址並啟用其連線。基於這些原因，我們建議防火牆不要限制遠端 IP 位址的連線。

PlayFab Party 可能使用的支援遠端連接埠範圍，可以是網際網路號碼指派機構 (IANA) 保留範圍 0-1023 以外的任何連接埠。目前透明雲端轉送只會被指派 30000-65535 之間的連接埠號碼，但 Microsoft 保留未來變更此行為的權利。最佳做法是使用 1024-65535 的連接埠範圍。對於為 Party 網路使用直接對等連線的遊戲而言，這一點特別重要，因為 NAT 實作通常會從此範圍指派連接埠。封鎖完整建議範圍以外的遠端連接埠，也可能會阻止直接通訊。

若要啟用 UDP 連線，根據網域名稱篩選 UDP 流量的環境需要確保下列名稱或名稱模式可以存取：

* *\*.cloudapp.azure.com*

透過網域名稱解析篩選 UDP 連線的遠端 IP 位址是可行的，但強烈不建議這麼做。目前，所有對透明雲端轉送伺服器的連線都會解析 *\*.cloudapp.azure.com* 形式的名稱，但此模式可能會變更，恕不另行通知。將 UDP 連線限制為只能連線到由名稱解析的 IP 位址，也會阻止直接對等連線。

## 另請參閱

[PlayFab Party 與直接對等連線](/zh-TW/services/playfab/multiplayer/networking/concepts-direct-peer-connectivity)


## Related topics

- [PC 連接埠行為](/zh-TW/build/console-features/networking/game-mesh/pc-port-behavior.md)
- [XBOX 主機連接埠行為](/zh-TW/build/console-features/networking/game-mesh/xbox-console-port-behavior.md)
- [遊戲網狀架構](/zh-TW/build/console-features/networking/game-mesh/game-mesh-toc.md)
- [將用戶端連線至遊戲伺服器](/zh-TW/services/playfab/multiplayer/servers/connecting-clients-to-game-servers.md)
- [使用 GDK 工具安裝與啟動 PC 遊戲](/zh-TW/tools/tools-pc/launching-on-pc.md)
