XNetworkingQueryPreferredLocalUdpMultiplayerPortAsyncResult
XNetworkingQueryPreferredLocalUdpMultiplayerPortAsync 呼び出しの結果を取得します。構文
パラメーター
asyncBlock _Inout_型: XAsyncBlock* XNetworkingQueryPreferredLocalUdpMultiplayerPortAsync 関数に渡された XAsyncBlock 構造体へのポインター。 preferredLocalUdpMultiplayerPort _Out_
型: uint16_t* ホスト エンディアン順の、推奨されるローカル ユーザー データグラム プロトコル (UDP) ポート番号へのポインター。
戻り値
型: HRESULT HRESULT の成功またはエラー コード。解説
この関数は、XAsyncBlock 構造体が NetworkingQueryPreferredLocalUdpMultiplayerPortAsyncResult 関数に渡されるときに、非同期マルチプレイヤー トラフィック向けの推奨されるローカル UDP ポート番号を取得します。取得される推奨されるローカル UDP マルチプレイヤー ポートの詳細については、「推奨されるローカル ユーザー データグラム プロトコル (UDP) マルチプレイヤー ポート ネットワーク API」を参照してください。Microsoft Game Development Kit (GDK) タイトルにおけるネットワーク情報については、「ネットワーク情報の取得」を参照してください。
返される推奨されるローカル 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_port と sockaddr_in6::sin6_port フィールドは両方ともネットワーク エンディアン順です。返されたポートを bind 関数に渡す際にエンディアンを変換するには、htons 関数を使用する必要があります。要件
ヘッダー: XNetworking.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One ファミリ コンソール、XBOX Series コンソール関連項目
XNetworkingQueryPreferredLocalUdpMultiplayerPortAsyncXNetworking
