Sur cette page

QNetworkAddressEntry Class

La classe QNetworkAddressEntry stocke une adresse IP prise en charge par une interface réseau, ainsi que le masque de réseau et l'adresse de diffusion qui lui sont associés. Plus d'informations...

En-tête : #include <QNetworkAddressEntry>
CMake : find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake : QT += network

Remarque : toutes les fonctions de cette classe sont réentrantes.

Types publics

enum DnsEligibilityStatus { DnsEligibilityUnknown, DnsEligible, DnsIneligible }

Fonctions publiques

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)

Description détaillée

Chaque interface réseau peut contenir zéro ou plusieurs adresses IP, qui peuvent à leur tour être associées à un masque de réseau et/ou à une adresse de diffusion (en fonction de la prise en charge par le système d'exploitation).

Cette classe représente un de ces groupes.

Type de membre Documentation

enum QNetworkAddressEntry::DnsEligibilityStatus

Cette énumération indique si une adresse d'hôte donnée peut être publiée dans le système de noms de domaine (DNS) ou dans d'autres mécanismes similaires de résolution de noms. En général, une adresse peut être publiée s'il s'agit d'une adresse à laquelle cette machine sera joignable pendant une période indéterminée, bien qu'elle ne doive pas être permanente. Par exemple, les adresses obtenues via DHCP sont souvent éligibles, mais les adresses IPv6 temporaires générées par cryptographie ne le sont pas.

ConstanteValeurDescription
QNetworkAddressEntry::DnsEligibilityUnknown-1Qt et le système d'exploitation n'ont pas pu déterminer si cette adresse devait être publiée ou non. L'application peut avoir besoin d'appliquer d'autres heuristiques si elle ne trouve pas d'adresses éligibles.
QNetworkAddressEntry::DnsEligible1Cette adresse peut être publiée dans le DNS.
QNetworkAddressEntry::DnsIneligible0Cette adresse ne doit pas être publiée dans le DNS et ne doit pas être transmise à d'autres parties, sauf peut-être en tant qu'adresse source d'un paquet sortant.

Voir également dnsEligibility() et setDnsEligibility().

Documentation des fonctions membres

QNetworkAddressEntry::QNetworkAddressEntry()

Construit un objet QNetworkAddressEntry vide.

QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)

Construit un objet QNetworkAddressEntry qui est une copie de l'objet other.

[noexcept] QNetworkAddressEntry::~QNetworkAddressEntry()

Détruit cet objet QNetworkAddressEntry.

QHostAddress QNetworkAddressEntry::broadcast() const

Renvoie l'adresse de diffusion associée à l'adresse IPv4 et au masque de réseau. Elle peut généralement être dérivée de ces deux éléments en mettant à 1 les bits de l'adresse IP où le masque de réseau contient un 0. (En d'autres termes, en effectuant un OU bit à bit entre l'adresse IP et l'inverse du masque de réseau).

Ce membre est toujours vide pour les adresses IPv6, puisque le concept de diffusion a été abandonné dans ce système en faveur de la multidiffusion. En particulier, le groupe d'hôtes correspondant à tous les nœuds du réseau local peut être atteint par le groupe multicast spécial "all-nodes" (adresse FF02::1).

Voir aussi setBroadcast().

void QNetworkAddressEntry::clearAddressLifetime()

Réinitialise les durées de vie préférée et valide de cette adresse. Après cet appel, isLifetimeKnown() renvoie false.

Voir également preferredLifetime(), validityLifetime(), isLifetimeKnown() et setAddressLifetime().

QNetworkAddressEntry::DnsEligibilityStatus QNetworkAddressEntry::dnsEligibility() const

Indique si cette adresse peut être publiée dans le système de noms de domaine (DNS) ou dans des mécanismes de résolution de noms similaires.

En général, une adresse peut être publiée s'il s'agit d'une adresse à laquelle cette machine sera joignable pendant une période indéterminée, bien qu'elle ne doive pas être permanente. Par exemple, les adresses obtenues via DHCP sont souvent éligibles, mais les adresses IPv6 temporaires générées par cryptographie ne le sont pas.

Sur certains systèmes, QNetworkInterface devra déterminer de manière heuristique quelles adresses sont éligibles.

Voir également isLifetimeKnown(), isPermanent() et setDnsEligibility().

QHostAddress QNetworkAddressEntry::ip() const

Cette fonction renvoie une adresse IPv4 ou IPv6 trouvée dans une interface réseau.

Voir aussi setIp().

bool QNetworkAddressEntry::isLifetimeKnown() const

Renvoie true si la durée de vie de l'adresse est connue, false dans le cas contraire. Si la durée de vie de l'adresse n'est pas connue, preferredLifetime() et validityLifetime() renvoient tous deux QDeadlineTimer::Forever.

Voir aussi preferredLifetime(), validityLifetime(), setAddressLifetime() et clearAddressLifetime().

bool QNetworkAddressEntry::isPermanent() const

Renvoie true si cette adresse est permanente sur cette interface, false si elle est temporaire. Une adresse permanente est une adresse qui n'a pas de délai d'expiration et qui est souvent statique (configurée manuellement).

Si cette information n'a pas pu être déterminée, cette fonction renvoie true.

Remarque : selon le système d'exploitation et l'outil de configuration du réseau, il est possible qu'une adresse temporaire soit interprétée comme permanente, si l'outil n'a pas communiqué correctement les détails au système d'exploitation.

Voir également isLifetimeKnown(), validityLifetime() et isTemporary().

bool QNetworkAddressEntry::isTemporary() const

Renvoie true si cette adresse est temporaire sur cette interface, false si elle est permanente.

Voir aussi isLifetimeKnown(), validityLifetime(), et isPermanent().

QHostAddress QNetworkAddressEntry::netmask() const

Renvoie le masque de réseau associé à l'adresse IP. Le masque de réseau est exprimé sous la forme d'une adresse IP, par exemple 255.255.0.0.

Pour les adresses IPv6, la longueur du préfixe est convertie en une adresse dont le nombre de bits à 1 est égal à la longueur du préfixe. Pour une longueur de préfixe de 64 bits (la valeur la plus courante), le masque de réseau sera exprimé sous la forme d'une adresse QHostAddress contenant l'adresse FFFF:FFFF:FFFF:FFFF: :

Voir également setNetmask() et prefixLength().

QDeadlineTimer QNetworkAddressEntry::preferredLifetime() const

Renvoie la date limite à laquelle cette adresse devient obsolète (n'est plus préférée), si elle est connue. Si la durée de vie de l'adresse n'est pas connue (voir isLifetimeKnown()), cette fonction renvoie toujours QDeadlineTimer::Forever.

Tant qu'une adresse est préférée, elle peut être utilisée par le système d'exploitation comme adresse source pour les nouveaux paquets sortants. Lorsqu'elle devient obsolète, elle reste valable pour les paquets entrants pendant un certain temps jusqu'à ce qu'elle soit définitivement supprimée (voir validityLifetime()).

Voir aussi validityLifetime(), isLifetimeKnown(), setAddressLifetime() et clearAddressLifetime().

int QNetworkAddressEntry::prefixLength() const

Renvoie la longueur du préfixe de cette adresse IP. La longueur du préfixe correspond au nombre de bits mis à 1 dans le masque de réseau (voir netmask()). Pour les adresses IPv4, la valeur est comprise entre 0 et 32. Pour les adresses IPv6, elle est comprise entre 0 et 128 et constitue la forme préférée de représentation des adresses.

Cette fonction renvoie -1 si la longueur du préfixe n'a pas pu être déterminée (c'est-à-dire que netmask() renvoie une QHostAddress() nulle).

Voir aussi setPrefixLength() et netmask().

void QNetworkAddressEntry::setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity)

Définit les durées de vie préférée et valide pour cette adresse aux dates limites preferred et validity, respectivement. Après cet appel, isLifetimeKnown() renverra true, même si les deux paramètres sont QDeadlineTimer::Forever.

Voir aussi preferredLifetime(), validityLifetime(), isLifetimeKnown() et clearAddressLifetime().

void QNetworkAddressEntry::setBroadcast(const QHostAddress &newBroadcast)

Définit l'adresse IP de diffusion de cet objet QNetworkAddressEntry à newBroadcast.

Voir aussi broadcast().

void QNetworkAddressEntry::setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status)

Définit l'indicateur d'éligibilité DNS pour cette adresse à status.

Voir aussi dnsEligibility().

void QNetworkAddressEntry::setIp(const QHostAddress &newIp)

Définit l'adresse IP contenue dans l'objet QNetworkAddressEntry à newIp.

Voir aussi ip().

void QNetworkAddressEntry::setNetmask(const QHostAddress &newNetmask)

Définit le masque de réseau que cet objet QNetworkAddressEntry contient à newNetmask. La définition du masque de réseau définit également la longueur du préfixe pour qu'il corresponde au nouveau masque de réseau.

Voir également netmask() et setPrefixLength().

void QNetworkAddressEntry::setPrefixLength(int length)

Définit la longueur du préfixe de cette adresse IP à length. La valeur de length doit être valide pour ce type d'adresse IP : entre 0 et 32 pour les adresses IPv4, entre 0 et 128 pour les adresses IPv6. Toute valeur non valide équivaut à -1, ce qui signifie "pas de longueur de préfixe".

La définition de la longueur du préfixe définit également le masque de réseau (voir netmask()).

Voir également prefixLength() et setNetmask().

[noexcept] void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)

Remplace cette instance d'entrée d'adresse réseau par other. Cette opération est très rapide et n'échoue jamais.

QDeadlineTimer QNetworkAddressEntry::validityLifetime() const

Renvoie la date limite à laquelle cette adresse devient invalide et sera retirée de la pile réseau, si elle est connue. Si la durée de vie de l'adresse n'est pas connue (voir isLifetimeKnown()), cette fonction renvoie toujours QDeadlineTimer::Forever.

Tant qu'une adresse est valide, elle est acceptée par le système d'exploitation comme une adresse de destination valide pour cette machine. Son utilisation en tant qu'adresse source pour les nouveaux paquets sortants dépend, entre autres, de la durée de vie préférée (voir preferredLifetime()).

Voir également preferredLifetime(), isLifetimeKnown(), setAddressLifetime() et clearAddressLifetime().

bool QNetworkAddressEntry::operator!=(const QNetworkAddressEntry &other) const

Renvoie true si cette entrée d'adresse réseau est différente de other.

QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)

Fait une copie de l'objet QNetworkAddressEntry other .

bool QNetworkAddressEntry::operator==(const QNetworkAddressEntry &other) const

Renvoie true si cette entrée d'adresse réseau est identique à other.

Non-membres apparentés

[since 6.2] QDebug operator<<(QDebug debug, const QNetworkAddressEntry &entry)

Écrit le QNetworkAddressEntry entry dans le flux et renvoie une référence au flux debug.

Cette fonction a été introduite dans 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.