1

QnetworkAccessManager を使用して HTTP 要求を作成しています。IP アドレスまたは IP アドレスのリストを取得するために FQDN がいつ解決されるか (DNS 解決) を知りたいです。

QNetworkAccessManager は、解決された IP のリストから IP を選択してリクエストを送信する方法を教えてください。

QNetworkAccessManager は DNS 解決のキャッシュを保持しますか?

4

1 に答える 1

1

QNetworkAccessManagerQAbstractSocketホスト名を解決する機能などを使用します。指定したホストの IP ( ) のリストを取得するためにQAbstractSocket使用します。接続が成功するまで、それぞれに接続を試みます。QHostInfo::lookupHostQHostInfo::​addressesQAbstractSocketQHostInfo::​addresses

QNetworkAccessManagerは使用されたソケットをユーザーに公開しないため、どのアドレスが使用されたかを知る方法はありません。QHostInfoパブリック APIを使用して、アドレスの完全なリストを取得できます。

QHostInfo最大経過時間 1 分の最大 128 個のアイテムを格納する内部グローバル キャッシュがあります。

于 2015-04-27T17:25:27.290 に答える