Skip to main content
Secure Sockets 和 XBOX Integrated Multiplayer (XIM) 在 Microsoft 游戏开发工具包 (GDK) 中不再可用。取而代之,Microsoft 游戏开发工具包 (GDK) 游戏可以使用以下替代方案。
  • Azure PlayFab Party 对于客户端间通信,建议游戏使用 PlayFab Party API。它们提供与 XBOX One Software Development Kit 中 Secure Sockets 类似的功能,同时提供安全通信、通过通信中继实现的网络地址转换 (NAT) 穿越,以及语音和文字聊天功能。
  • Datagram Transport Layer Security (DTLS) 游戏也可以选择使用 DTLS 加密其数据包有效负载。可通过 OpenSSLBcrypt API 实现,或使用封装了此类实现的中间件。无论内容如何,所有通信都必须由游戏服务进行加密和身份认证。有关此方案的具体要求,请参阅 面向 Microsoft 游戏开发工具包游戏的安全游戏通信

Microsoft 游戏开发工具包 (GDK) 与 XBOX One Software Development Kit 游戏版本之间的游戏通信

建议游戏在所有 XBOX 主机硬件上使用 GDK。这样可以采用统一的网络实现。在某些场景下,游戏可能仍希望支持 XBOX One Software Development Kit 与 GDK 游戏版本之间的网络通信。 在这种场景下,XBOX One Software Development Kit 游戏无法使用 Secure Sockets 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 游戏开发工具包 (GDK) 中,游戏会在 Game OS 启动过程中尽可能早地启动。你可以开始从硬盘加载资源并开始初始化图形堆栈。这意味着你的代码在网络服务尚未启动时就在运行,因此在一段时间内使用 Win32 网络 API 是不安全的。我们将此时间段定义为 网络初始化 期,之后网络被视为已初始化。网络初始化通常需要几秒钟,这在你的代码中可能会非常明显。 在 XBOX One ERA 游戏中,网络初始化会隐式且任意地阻塞本应实时安全的网络 API,例如 WSAStartupbind。在 Microsoft 游戏开发工具包 (GDK) 中,网络初始化现在是一个显式概念,你必须与之交互才能使用任何 Win32 网络或安全 API。 Microsoft 游戏开发工具包 (GDK) 游戏必须等待 XNetworkingConnectivityHint::networkInitialized 布尔值被设为 true 后,再调用 WinsockWinHTTPIP HelperBCryptWinCryptSchannel 或任何其他 Win32 网络 API。在网络初始化完成前调用其中任一 API 会导致不确定的行为,甚至可能出现随机的进程崩溃。 此外,同样的概念适用于所有挂起/恢复周期。挂起时,Microsoft 游戏开发工具包 (GDK) 游戏应关闭所有网络和安全句柄。从网络角度看,Microsoft 游戏开发工具包 (GDK) 游戏应像初次启动一样处理恢复处理程序,再次等待网络完成初始化。 有关等待网络初始化的代码示例等更多信息,请参阅 网络初始化与连接性

端口行为

在 XBOX One ERA 游戏中,你需要在网络清单中预先定义游戏进行的每一个套接字流。在 Microsoft 游戏开发工具包 (GDK) 中,该清单已被移除。XBOX One 主机上的端口现在与 Windows PC 上的行为一致——你可以在任意端口上调用 bind,该端口允许所有出站以及应邀入站的 TCP 与 UDP 流量。未经请求的入站 UDP 与 TCP 流量将被阻止。这意味着不再允许 TCP 点对点网络拓扑。Microsoft 游戏开发工具包 (GDK) 游戏应对其游戏流量使用 UDP。 Microsoft 游戏开发工具包 (GDK) 游戏现在还可以直接访问首选本地 UDP 多人游戏端口。这个端口是平台可提供的、连接对等方和服务器的最佳端口,因为它有故障排查支持与用户配置支持。我们强烈建议将多人游戏与语音流量调整为使用此端口,以提升整体连接成功率。 有关端口行为的更多详细信息,请参阅 XBOX 主机端口行为首选 UDP 多人游戏端口

另请参阅

网络初始化与连接性 面向 Microsoft 游戏开发工具包游戏的安全游戏通信. HTTP 与 Web sockets Windows sockets Game Chat 2 简介 Azure PlayFab Party XBOX Live API 入门 http_call_c 首选 UDP 多人游戏端口
最后修改于 2026年8月24日