QNetworkAddressEntry Class
QNetworkAddressEntry クラスは、ネットワーク・インターフェイスがサポートする IP アドレスを 1 つ、関連するネットマスクとブロードキャスト・アドレスとともに格納します。詳細...
ヘッダー | #include <QNetworkAddressEntry> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake: | QT += network |
- 継承メンバを含む全メンバのリスト
- QNetworkAddressEntry は、ネットワーク・プログラミング APIおよび暗黙の共有クラスに属しています。
メモ:このクラスの関数はすべてリエントラントです。
パブリック型
enum | DnsEligibilityStatus { DnsEligibilityUnknown, DnsEligible, DnsIneligible } |
パブリック関数
QNetworkAddressEntry() | |
QNetworkAddressEntry(const QNetworkAddressEntry &other) | |
~QNetworkAddressEntry() | |
QHostAddress | broadcast() const |
void | clearAddressLifetime() |
QNetworkAddressEntry::DnsEligibilityStatus | dnsEligibility() const |
QHostAddress | ip() const |
bool | isLifetimeKnown() const |
bool | isPermanent() const |
bool | isTemporary() const |
QHostAddress | netmask() const |
QDeadlineTimer | preferredLifetime() const |
int | prefixLength() const |
void | setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity) |
void | setBroadcast(const QHostAddress &newBroadcast) |
void | setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status) |
void | setIp(const QHostAddress &newIp) |
void | setNetmask(const QHostAddress &newNetmask) |
void | setPrefixLength(int length) |
void | swap(QNetworkAddressEntry &other) |
QDeadlineTimer | validityLifetime() const |
bool | operator!=(const QNetworkAddressEntry &other) const |
QNetworkAddressEntry & | operator=(const QNetworkAddressEntry &other) |
bool | operator==(const QNetworkAddressEntry &other) const |
関連する非メンバ
(since 6.2) QDebug | operator<<(QDebug debug, const QNetworkAddressEntry &entry) |
詳細説明
各ネットワークインターフェイスは0個以上のIPアドレスを持つことができ、それらはネットマスクやブロードキャストアドレスと関連付けることができます(オペレーティングシステムのサポートに依存します)。
このクラスはそのようなグループの 1 つを表します。
メンバ型 ドキュメント
enum QNetworkAddressEntry::DnsEligibilityStatus
この列挙型は、指定されたホストアドレスがドメインネームシステム(DNS)や他の類似の名前解決機構で公開する資格があるかどうかを示す。一般的に、アドレスが永続的である必要はないが、このマシンに不定時間到達する アドレスであれば、公開に適している。例えば、DHCP経由で取得されたアドレスはしばしば適格であるが、暗号的に生成された一時的なIPv6アドレスは不適格である。
定数 | 値 | 説明 |
---|---|---|
QNetworkAddressEntry::DnsEligibilityUnknown | -1 | Qtとオペレーティングシステムは、このアドレスが公開されるべきかどうかを判断できませんでした。適格なアドレスが見つからない場合、アプリケーションはさらなるヒューリスティックを適用する必要があるかもしれません。 |
QNetworkAddressEntry::DnsEligible | 1 | このアドレスはDNSで公開する資格があります。 |
QNetworkAddressEntry::DnsIneligible | 0 | このアドレスはDNSで公開されるべきではなく、送信パケットの送信元アドレスと して使われる場合を除き、他者に送信されるべきではない。 |
dnsEligibility() およびsetDnsEligibility()も参照のこと 。
メンバー関数ドキュメント
QNetworkAddressEntry::QNetworkAddressEntry()
空の QNetworkAddressEntry オブジェクトを構築します。
QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)
オブジェクトother のコピーである QNetworkAddressEntry オブジェクトを構築します。
[noexcept]
QNetworkAddressEntry::~QNetworkAddressEntry()
このQNetworkAddressEntry オブジェクトを破棄する。
QHostAddress QNetworkAddressEntry::broadcast() const
IPv4アドレスとネットマスクに関連付けられたブロードキャストアドレスを返す。通常、ネットマスクが0を含むIPアドレスのビットを1に設定することで、この2つから導き出すことができる(言い換えると、IPアドレスとネットマスクの逆数をビット単位でORすること)。
IPv6ではブロードキャストの概念が廃止され、マルチキャストが採用され ているため、IPv6アドレスではこのメンバーは常に空である。特に、ローカルネットワークのすべてのノードに対応するホストのグループには、「all-nodes」特別なマルチキャストグループ(アドレスFF02::1)で到達できる。
setBroadcast()も参照のこと 。
void QNetworkAddressEntry::clearAddressLifetime()
このアドレスの優先寿命と有効寿命の両方をリセットする。この呼び出しの後、isLifetimeKnown() はfalse
を返す。
preferredLifetime()、validityLifetime()、isLifetimeKnown()、setAddressLifetime()も参照のこと 。
QNetworkAddressEntry::DnsEligibilityStatus QNetworkAddressEntry::dnsEligibility() const
このアドレスがドメインネームシステム(DNS)または類似の名前解決機構で公開する資格があるかどうかを返す。
一般的に、アドレスが公開に適しているのは、このマシンが不特定多数の時間到達するアドレスである場合であるが、永続的である必要はない。例えば、DHCP経由で取得されたアドレスは、しばしば適格であるが、 暗号的に生成された一時的なIPv6アドレスは不適格である。
システムによっては、QNetworkInterface 、ヒューリスティックに対象アドレスを決定する必要がある。
isLifetimeKnown()、isPermanent()、setDnsEligibility()も参照の こと。
QHostAddress QNetworkAddressEntry::ip() const
この関数は、ネットワーク・インターフェースで見つかったIPv4またはIPv6アドレスを1つ返す。
setIp()も参照のこと 。
bool QNetworkAddressEntry::isLifetimeKnown() const
アドレスの有効期限が既知の場合はtrue
を、既知でない場合はfalse
を返す。寿命が不明な場合は、preferredLifetime() とvalidityLifetime() の両方がQDeadlineTimer::Forever を返す。
preferredLifetime()、validityLifetime()、setAddressLifetime()、clearAddressLifetime()も参照 。
bool QNetworkAddressEntry::isPermanent() const
このアドレスがこのインターフェイス上で永続的であればtrue
を、一時的であればfalse
を返す。永続的なアドレスとは、有効期限がなく、多くの場合、静的な(手動で設定された)アドレスである。
この情報が判断できない場合、この関数はtrue
を返す。
注意: オペレーティング・システムとネットワーク・コンフィグレーション・ツールによっては、ツールがオペレーティング・システムに詳細を正しく通知しなかった場合、一時的なアドレスが永続的なアドレスとして解釈されることがあります。
isLifetimeKnown ()、validityLifetime ()、isTemporary ()も参照 。
bool QNetworkAddressEntry::isTemporary() const
このアドレスがこのインターフェイス上で一時的なものである場合はtrue
を、恒久的なものである場合はfalse
を返す。
isLifetimeKnown()、validityLifetime()、isPermanent()も参照のこと 。
QHostAddress QNetworkAddressEntry::netmask() const
IPアドレスに関連付けられたネットマスクを返す。ネットマスクは、255.255.0.0 のような IP アドレスの形式で表される。
IPv6 アドレスの場合は、プレフィックス長をアドレスに変換して、 1 にセットされるビット数がプレフィックス長に等しくなるようにします。プレフィックス長が64ビット(最も一般的な値)の場合、ネットマスクはQHostAddress 、FFFF:FFFF:FFFF:FFFF:というアドレスになります:
setNetmask() とprefixLength()も参照のこと 。
QDeadlineTimer QNetworkAddressEntry::preferredLifetime() const
このアドレスが非推奨(優先されなくなった)となる期限がわかっていれば、それを返す。アドレスの有効期限が不明な場合 (isLifetimeKnown() を参照)、この関数は常にQDeadlineTimer::Forever を返す。
アドレスが優先されている間は、そのアドレスは、オペレーティング・システム によって、新しい送信パケットの送信元アドレスとして使われるかもしれない。非推奨になった後も、最終的に削除されるまで、しばらくの間、着信パケットに対して 有効なままである(validityLifetime()を参照)。
validityLifetime()、isLifetimeKnown()、setAddressLifetime()、clearAddressLifetime()も参照のこと 。
int QNetworkAddressEntry::prefixLength() const
この IP アドレスのプレフィックス長を返す。プレフィックス長は、ネットマスク (netmask() を参照) で 1 に設定されているビット数と一致する。IPv4 アドレスの場合、この値は 0 から 32 の間となる。IPv6アドレスの場合は、0から128の間に含まれ、アドレスを表すのに好ましい形式である。
この関数は、プレフィックス長を決定できなかった場合に -1 を返します (つまり、netmask() は null QHostAddress() を返します)。
setPrefixLength() およびnetmask()も参照 。
void QNetworkAddressEntry::setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity)
このアドレスの優先期限と有効期限の両方を、それぞれpreferred とvalidity の期限に設定する。この呼び出しの後、isLifetimeKnown() は、両方のパラメータがQDeadlineTimer::Forever であっても、true
を返す。
preferredLifetime()、validityLifetime()、isLifetimeKnown()、clearAddressLifetime()も参照のこと 。
void QNetworkAddressEntry::setBroadcast(const QHostAddress &newBroadcast)
このQNetworkAddressEntry オブジェクトのブロードキャスト IP アドレスをnewBroadcast に設定する。
broadcast()も参照のこと 。
void QNetworkAddressEntry::setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status)
このアドレスのDNS適格性フラグをstatus に設定する。
dnsEligibility()も参照のこと 。
void QNetworkAddressEntry::setIp(const QHostAddress &newIp)
QNetworkAddressEntry オブジェクトが含む IP アドレスをnewIp に設定する。
ip()も参照のこと 。
void QNetworkAddressEntry::setNetmask(const QHostAddress &newNetmask)
このQNetworkAddressEntry オブジェクトが含むネットマスクをnewNetmask に設定する。 ネットマスクを設定すると、プレフィックス長も新しいネットマスクに合うように設定される。
netmask() およびsetPrefixLength()も参照 。
void QNetworkAddressEntry::setPrefixLength(int length)
この IP アドレスのプレフィックス長をlength に設定する。length の値は、IPv4 アドレスの場合は 0 から 32 の間、IPv6 アドレスの場合は 0 から 128 の間、このタイプの IP アドレスに対して有効でなければならない。無効な値を設定することは、「プレフィックス長なし」を意味する -1 を設定することと同じである。
プレフィックス長を設定すると、ネットマスクも設定される (netmask() を参照)。
prefixLength() およびsetNetmask()も参照の こと。
[noexcept]
void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)
このネットワーク・アドレス・エントリーのインスタンスをother と交換する。この操作は非常に高速で、失敗することはない。
QDeadlineTimer QNetworkAddressEntry::validityLifetime() const
このアドレスが無効になり、ネットワーク・スタックから削除される期限を、既知であれば返します。アドレスの有効期限が不明な場合(isLifetimeKnown ()を参照)、この関数は常にQDeadlineTimer::Forever を返します。
アドレスが有効な間は、オペレーティング・システムはそのマシンの有効な宛先アド レスとして受け入れます。このアドレスが新しい送信パケットの送信元アドレスとして使用されるかどうかは、 特に優先有効期限によって制御される(preferredLifetime()を参照)。
preferredLifetime()、isLifetimeKnown()、setAddressLifetime()、clearAddressLifetime()も参照のこと 。
bool QNetworkAddressEntry::operator!=(const QNetworkAddressEntry &other) const
このネットワークアドレスエントリーがother と異なる場合はtrue
を返す。
QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)
QNetworkAddressEntry オブジェクトのコピーを作成するother 。
bool QNetworkAddressEntry::operator==(const QNetworkAddressEntry &other) const
このネットワークアドレスエントリーがother と同じ場合はtrue
を返す。
関連する非会員
[since 6.2]
QDebug operator<<(QDebug debug, const QNetworkAddressEntry &entry)
QNetworkAddressEntry entry をストリームに書き込み、debug ストリームへの参照を返します。
この関数は Qt 6.2 で導入されました。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.