Skip to main content
Microsoft Game Development Kit (GDK) 已不再提供 Secure Sockets 和 XBOX Integrated Multiplayer (XIM)。Microsoft Game Development Kit (GDK) 遊戲可以改用下列替代方案。
  • Azure PlayFab Party 對於用戶端對用戶端通訊,建議遊戲使用 PlayFab Party API。這些 API 提供的功能類似於 XBOX One Software Development Kit 中的 Secure Sockets。這些 API 也提供安全通訊、透過通訊轉送進行的網路位址轉譯 (NAT) 周遊,以及語音和文字聊天功能。
  • 資料包傳輸層安全性 (DTLS) 遊戲也可以選擇使用 DTLS 來加密其封包承載。遊戲可以透過 OpenSSL 或 Bcrypt API 實作此功能,或使用封裝此類實作的中介軟體。所有通訊無論內容為何,都必須透過遊戲服務進行加密和驗證。如需此解決方案需求的詳細資訊,請參閱 Microsoft Game Development Kit 遊戲的安全遊戲通訊。

Microsoft Game Development Kit (GDK) 與 XBOX One Software Development Kit 遊戲版本之間的遊戲通訊

建議遊戲在所有 XBOX 主機硬體上都使用 GDK。這樣便能使用統一的網路實作。在某些情況下,遊戲可能仍想要支援 XBOX One Software Development Kit 與 GDK 遊戲版本之間的網路通訊。 在此情況下,XBOX One Software Development Kit 遊戲無法使用 Secure Sockets API,因為這些 API 與 GDK 中的 Azure PlayFab Party API 在網路上不相容。建置於 Secure Socket 功能之上的 XIM API 也是如此。 在 XBOX One Software Development Kit 遊戲版本中使用 Secure Sockets 或 XIM 的遊戲,必須將遊戲的網路堆疊更新為 Azure PlayFab Party 或 DTLS 通訊。我們建議使用 Azure PlayFab Party 作為所有用戶端對用戶端通訊的解決方案。Azure PlayFab Party 也能簡化語音和文字聊天功能。 在 XBOX One Software Development Kit 遊戲版本中使用專用伺服器或轉送伺服器的遊戲,也可以採取相同做法,以啟用與 GDK 遊戲版本之間的網路通訊。所有通訊協定都應一律經過驗證、受到保護,並遵循安全性最佳做法。

網路初始化

在 Microsoft Game Development Kit (GDK) 中,您的遊戲會在 Game OS 啟動過程中盡早啟動。您可以開始從硬碟載入資產,並開始初始化圖形堆疊。這表示您的程式碼在網路服務甚至尚未啟動前就已在執行,因此會有一段期間無法安全地使用 Win32 網路 API。我們將這段期間定義為網路初始化期間,在此之後,網路才會被視為已初始化。網路初始化通常需要幾秒鐘,這在您的程式碼中可能會非常明顯。 在 XBOX One ERA 遊戲中,網路初始化會隱含且任意地讓原本具即時安全性的網路 API (例如 WSAStartup 或 bind) 停滯。在 Microsoft Game Development Kit (GDK) 中,網路初始化現在是一個明確的概念,您必須與之互動,才能使用任何 Win32 網路或安全性 API。 Microsoft Game Development Kit (GDK) 遊戲必須等到 XNetworkingConnectivityHint::networkInitialized 布林值設為 true 後,才能呼叫 Winsock、WinHTTP、IP Helper、BCrypt、WinCrypt、Schannel 中的任何網路 API,或任何其他 Win32 網路 API。在網路初始化之前呼叫這些 API 中的任何一個,都會導致不確定的行為,甚至可能導致處理程序隨機當機。 此外,相同的概念也適用於所有暫停/繼續循環。暫停時,Microsoft Game Development Kit (GDK) 遊戲應關閉所有網路和安全性控制代碼。接著,從網路的角度來看,Microsoft Game Development Kit (GDK) 遊戲應將繼續處理常式視同遊戲初次啟動,並再次等待網路完成初始化。 如需詳細資訊 (包括示範如何等待網路初始化的程式碼範例),請參閱網路初始化和連線能力。

連接埠行為

在 XBOX One ERA 遊戲中,您必須在網路資訊清單中預先定義遊戲執行的每一個通訊端流程。在 Microsoft Game Development Kit (GDK) 中,資訊清單現已移除。XBOX One 主機上的連接埠現在的行為與 Windows PC 上相同:您可以在任何想要的連接埠上呼叫 bind,而該連接埠會允許傳輸控制通訊協定 (TCP) 和使用者資料包通訊協定 (UDP) 上的所有輸出流量及經請求的輸入流量。未經請求的輸入 UDP 和 TCP 流量會遭到封鎖。這表示不再允許 TCP 對等網路拓撲。Microsoft Game Development Kit (GDK) 遊戲應將 UDP 用於其遊戲流程。 Microsoft Game Development Kit (GDK) 遊戲現在也可以直接存取慣用的本機 UDP 多人遊戲連接埠。此連接埠代表平台所能提供、通往您的對等節點和伺服器的最佳連接埠,因為它有疑難排解和使用者設定作為支援。我們強烈建議您調整多人遊戲和語音流量以使用此連接埠,以提升整體連線成功率。 如需連接埠行為的詳細資訊,請參閱 XBOX 主機連接埠行為和慣用的 UDP 多人遊戲連接埠。

另請參閱

網路初始化和連線能力 Microsoft Game Development Kit 遊戲的安全遊戲通訊。 HTTP 和 Web 通訊端 Windows 通訊端 Game Chat 2 簡介 Azure PlayFab Party 開始使用 XBOX Live API http_call_c 慣用的 UDP 多人遊戲連接埠
Last modified on October 6, 2026