Skip to main content

XNetworkingQueryPreferredLocalUdpMultiplayerPort

マルチプレイヤー トラフィックで使用する、推奨されるローカル UDP ポートを取得します。

構文

パラメーター

preferredLocalUdpMultiplayerPort   _Out_
型: uint16_t*
推奨されるローカル UDP マルチプレイヤー ポートである、ユーザー データグラム プロトコル (UDP) ポート番号 (ホスト エンディアン形式) へのポインター。

戻り値

型: HRESULT HRESULT の成功またはエラー コード。

解説

この関数は、時間の影響を受けやすいスレッドで呼び出しても安全ではありません。詳細については、「時間の影響を受けやすいスレッド」を参照してください。
返される推奨されるローカル UDP マルチプレイヤー ポートは、後続の socket bind 操作で使用されるローカル ポートであり、リモート デバイスがローカル デバイスに接続するために使用する可能性があるパブリック ポートではありません。マルチプレイヤーのリアルタイム タイトル ネットワーク フローを特に対象としているため、TCP や HTTP トラフィックではなく UDP トラフィックに対してのみ意味を持ちます。 このポートの既定値は UDP 3074 ですが、そのポートがゲーム トラフィックに適していないと判断された場合の自動フォールバックと、XBOX ネットワーク設定のトラブルシューティング ツールを介してユーザーが設定できる手動オーバーライドの両方があります。このポートのネットワーク動作は、ユーザーに表示される NAT タイプ (strict、moderate、open) を駆動するために使用されます。このポートは、XBOX パーティ チャット、XBOX ネットワーク トラブルシューティング ツール、オンライン XBOX Live トラブルシューティング ドキュメント、および CSS トラブルシューティング フローで使用され、多くの場合、ユーザーがホーム ルーターで手動で構成します。 返されるポートは、受信および送信パケットを許可するために、UPnP を介してユーザーのホーム ルーターで既に構成されています。 このポートは他のすべてのポートと同じように扱う必要があり、Windows Sockets (Winsock) API と併用してください。タイトルは、このポートで IPv4 と IPv6 の両方にバインドするか、デュアル スタック ソケットを使用し、INADDR_ANY/in6addr_any アドレスにバインドする必要があります。
ポートはこの関数からホスト エンディアン順で返されます。sockaddr_in::sin_portsockaddr_in6::sin6_port フィールドは両方ともネットワーク エンディアン順です。返されたポートを bind 関数に渡す際にエンディアンを変換するには、htons 関数を使用してください。
返されるポートで、目的のサーバーやピアとのソケット接続の確立に成功することは保証されません。通常のタイトルの再試行やフォールバック ロジックを実行する必要があります。 タイトルは、セキュリティ層と、必要に応じてネットワーク アドレス変換 (NAT) の検出およびトラバーサル実装を提供することが求められます。 接続の成功可能性を最大限に高めるため、タイトルはメインのゲーム トラフィック ソケット フローにこのポートを使用することを強く推奨します。Microsoft Azure PlayFab Party ライブラリは、既定でこのポートを使用します。PlayFab Party ライブラリを別のポートを使用するように明示的に構成していない限り、推奨されるローカル UDP マルチプレイヤー ポートに直接バインドしないでください。

要件

ヘッダー: XNetworking.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One ファミリ コンソール、XBOX Series コンソール

概念ドキュメント

関連項目

推奨されるローカル UDP マルチプレイヤー ポート ネットワーク API
Windows Sockets (Winsock)
Microsoft Azure PlayFab Party
XNetworking
最終更新日 2026年8月24日