> ## 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.

# XNetworkingQueryPreferredLocalUdpMultiplayerPort

> XNetworkingQueryPreferredLocalUdpMultiplayerPort

# XNetworkingQueryPreferredLocalUdpMultiplayerPort

获取用于多人游戏流量的首选本地 UDP 端口。

## 语法

```cpp theme={null}
HRESULT XNetworkingQueryPreferredLocalUdpMultiplayerPort(
         uint16_t* preferredLocalUdpMultiplayerPort
)
```

### 参数

*preferredLocalUdpMultiplayerPort*   \_Out\_\
类型：uint16\_t\*

指向用户数据报协议 (UDP) 端口号（按主机字节序格式）的指针，该端口号是首选的本地 UDP 多人游戏端口。

### 返回值

类型：HRESULT

HRESULT 成功或错误代码。

## 备注

<Note>不能在时间敏感线程上安全地调用此函数。有关详细信息，请参阅[时间敏感线程](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)。</Note>

返回的首选本地 UDP 多人游戏端口是后续[套接字绑定](https://learn.microsoft.com/windows/desktop/api/winsock/nf-winsock-bind)操作中使用的本地端口，而不是远程设备可能用来连接本地设备的公共端口。它仅对 UDP 流量有意义，而不适用于 TCP 或 HTTP 流量，因为它专门针对多人游戏实时游戏网络流。

此端口默认为 UDP 3074，但存在自动回退（当端口被确定为不适合游戏流量时）和用户可通过 XBOX 网络设置疑难解答程序设置的手动替代。此端口的网络行为用于驱动用户可见的严格、中等和开放 NAT 类型。此端口由 XBOX 派对聊天、XBOX 网络疑难解答程序、在线 XBOX Live 疑难解答文档和 CSS 疑难解答流使用，且经常由用户在家用路由器中手动配置。

返回的端口已通过 UPnP 在用户的家用路由器中配置为允许入站和出站数据包。

此端口应像其他端口一样对待，并应与 [Windows Sockets (Winsock)](https://learn.microsoft.com/windows/desktop/WinSock/windows-sockets-start-page-2) API 一起使用。游戏应同时绑定此端口的 IPv4 和 IPv6 或使用双栈套接字，并应绑定到 `INADDR_ANY`/`in6addr_any` 地址。

<Note>此函数以主机字节序返回端口。`sockaddr_in::sin_port` 和 `sockaddr_in6::sin6_port` 字段均为网络字节序。在将返回的端口传递给 bind 函数时，使用 [htons](https://learn.microsoft.com/windows/desktop/api/winsock/nf-winsock-htons) 函数转换字节序。</Note>

不保证返回的端口能够用于与所需服务器或对等方建立成功的套接字连接。应执行任何正常的游戏重试和回退逻辑。

游戏应提供安全层以及所需的任何网络地址转换 (NAT) 检测和穿越实现。

强烈建议游戏使用此端口作为其主要游戏流量套接字流，以获得成功连接的最佳机会。[Microsoft Azure PlayFab Party](/build/console-features/networking/game-mesh/playfab-party-intro-networking) 库默认使用此端口。除非你显式将 PlayFab Party 库配置为使用其他端口，否则不要直接绑定到首选本地 UDP 多人游戏端口。

## 要求

**头文件：** XNetworking.h

**库：** xgameruntime.lib

**支持的平台：** Windows、XBOX One 系列主机和 XBOX Series 主机

## 概念文档

* [首选 UDP 多人游戏端口](/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking)
* [时间敏感线程](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 另请参阅

[首选本地 UDP 多人游戏端口网络 API](/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking)\
[Windows Sockets (Winsock)](https://learn.microsoft.com/windows/desktop/WinSock/windows-sockets-start-page-2)\
[Microsoft Azure PlayFab Party](/build/console-features/networking/game-mesh/playfab-party-intro-networking)\
[XNetworking](/reference/networking/xnetworking/xnetworking_members)


## Related topics

- [XNetworkingQueryPreferredLocalUdpMultiplayerPortAsync](/zh-CN/reference/networking/xnetworking/functions/xnetworkingquerypreferredlocaludpmultiplayerportasync.md)
- [XNetworkingUnregisterPreferredLocalUdpMultiplayerPortChanged](/zh-CN/reference/networking/xnetworking/functions/xnetworkingunregisterpreferredlocaludpmultiplayerportchanged.md)
- [首选本地 UDP 多人游戏端口网络 API](/zh-CN/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking.md)
- [XNetworking](/zh-CN/reference/networking/xnetworking/xnetworking_members.md)
- [面向 GDK 的 Unity C# API 包装器](/zh-CN/build/gdk-and-engines/unity/unity-api-wrappers.md)
