このページでは

QNetworkAddressEntry Class

QNetworkAddressEntry クラスは、ネットワークインターフェースでサポートされている 1 つの IP アドレスと、それに関連付けられたネットマスクおよびブロードキャストアドレスを格納します。詳細...

ヘッダー: #include <QNetworkAddressEntry>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

注:このクラスのすべての関数は再入可能です。

パブリック型

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 アドレスを含めることができ、それらの IP アドレスには、ネットマスクやブロードキャストアドレスが関連付けられます(オペレーティングシステムのサポート状況による)。

このクラスは、そのようなグループの 1 つを表します。

メンバ・タイプのドキュメント

enum QNetworkAddressEntry::DnsEligibilityStatus

この列挙型は、指定されたホストアドレスが、ドメインネームシステム(DNS)やその他の類似した名前解決メカニズムで公開される資格があるかどうかを示します。一般的に、そのアドレスが、恒久的である必要はありませんが、不確定な期間にわたってそのマシンに到達可能なものである場合、公開に適しているとみなされます。 たとえば、DHCP を通じて取得したアドレスは多くの場合公開に適していますが、暗号技術によって生成された一時的な IPv6 アドレスは適していません。

定数値説明
QNetworkAddressEntry::DnsEligibilityUnknown-1Qt およびオペレーティングシステムは、このアドレスを公開すべきかどうかを判断できませんでした。アプリケーションは、公開に適したアドレスが見つからない場合、さらにヒューリスティックを適用する必要があるかもしれません。
QNetworkAddressEntry::DnsEligible1このアドレスは、DNS への公開に適しています。
QNetworkAddressEntry::DnsIneligible0このアドレスは、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アドレスのプレフィックス長を返します。 プレフィックス長は、ネットマスク内で1に設定されているビット数と一致します(netmask()を参照)。IPv4アドレスの場合、この値は0から32の間になります。IPv6アドレスの場合、0から128の間となり、これがアドレスを表す推奨形式です。

プレフィックス長を特定できなかった場合(つまり、netmask() が null の QHostAddress() を返す場合)、この関数は -1 を返します。

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 の値は、この種類の IP アドレスに対して有効なものでなければなりません。つまり、IPv4 アドレスでは 0 から 32 の範囲、IPv6 アドレスでは 0 から 128 の範囲である必要があります。無効な値に設定すると、-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 で導入されました。

© 2026 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.