QNetworkAddressEntry Class
Die Klasse „QNetworkAddressEntry“ speichert eine von einer Netzwerkschnittstelle unterstützte IP-Adresse sowie die dazugehörige Netzmaske und Broadcast-Adresse. Mehr...
| Header: | #include <QNetworkAddressEntry> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QNetworkAddressEntry ist Teil der Netzwerkprogrammier-API und der implizit gemeinsam genutzten Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Typen
| enum | DnsEligibilityStatus { DnsEligibilityUnknown, DnsEligible, DnsIneligible } |
Öffentliche Funktionen
| 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 |
Verwandte Nicht-Mitglieder
(since 6.2) QDebug | operator<<(QDebug debug, const QNetworkAddressEntry &entry) |
Ausführliche Beschreibung
Jede Netzwerkschnittstelle kann null oder mehrere IP-Adressen enthalten, denen wiederum eine Netzmaske und/oder eine Broadcast-Adresse zugeordnet sein kann (abhängig von der Unterstützung durch das Betriebssystem).
Diese Klasse repräsentiert eine solche Gruppe.
Dokumentation zu den Mitgliedstypen
enum QNetworkAddressEntry::DnsEligibilityStatus
Diese Enumeration gibt an, ob eine bestimmte Hostadresse für die Veröffentlichung im Domain Name System (DNS) oder in anderen ähnlichen Mechanismen zur Namensauflösung geeignet ist. Im Allgemeinen ist eine Adresse für die Veröffentlichung geeignet, wenn dieser Rechner über einen unbestimmten Zeitraum unter dieser Adresse erreichbar ist, wobei die Adresse jedoch nicht dauerhaft sein muss. Beispielsweise sind über DHCP bezogene Adressen oft geeignet, kryptografisch generierte temporäre IPv6-Adressen hingegen nicht.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkAddressEntry::DnsEligibilityUnknown | -1 | Qt und das Betriebssystem konnten nicht feststellen, ob diese Adresse veröffentlicht werden sollte oder nicht. Die Anwendung muss möglicherweise weitere Heuristiken anwenden, wenn sie keine zulässigen Adressen finden kann. |
QNetworkAddressEntry::DnsEligible | 1 | Diese Adresse ist für die Veröffentlichung im DNS geeignet. |
QNetworkAddressEntry::DnsIneligible | 0 | Diese Adresse sollte nicht im DNS veröffentlicht und nicht an Dritte weitergegeben werden, außer möglicherweise als Quelladresse eines ausgehenden Pakets. |
Siehe auch dnsEligibility() und setDnsEligibility().
Dokumentation der Member-Funktionen
QNetworkAddressEntry::QNetworkAddressEntry()
Erstellt ein leeres QNetworkAddressEntry-Objekt.
QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)
Erstellt ein QNetworkAddressEntry-Objekt, das eine Kopie des Objekts „ other “ ist.
[noexcept] QNetworkAddressEntry::~QNetworkAddressEntry()
Löscht dieses „ QNetworkAddressEntry “-Objekt.
QHostAddress QNetworkAddressEntry::broadcast() const
Gibt die Broadcast-Adresse zurück, die der IPv4-Adresse und der Netzmaske zugeordnet ist. Sie lässt sich in der Regel aus diesen beiden Werten ableiten, indem die Bits der IP-Adresse, an denen die Netzmaske eine 0 enthält, auf 1 gesetzt werden. (Mit anderen Worten: durch bitweises ODER der IP-Adresse mit der Umkehrung der Netzmaske)
Dieses Element ist bei IPv6-Adressen immer leer, da das Konzept des Broadcasts in diesem System zugunsten von Multicast aufgegeben wurde. Insbesondere kann die Gruppe der Hosts, die allen Knoten im lokalen Netzwerk entspricht, über die spezielle Multicast-Gruppe „all-nodes“ (Adresse FF02::1) erreicht werden.
Siehe auch setBroadcast().
void QNetworkAddressEntry::clearAddressLifetime()
Setzt sowohl die bevorzugte als auch die gültige Lebensdauer für diese Adresse zurück. Nach diesem Aufruf gibt isLifetimeKnown() den Wert „ false “ zurück.
Siehe auch preferredLifetime(), validityLifetime(), isLifetimeKnown() und setAddressLifetime().
QNetworkAddressEntry::DnsEligibilityStatus QNetworkAddressEntry::dnsEligibility() const
Gibt zurück, ob diese Adresse für die Veröffentlichung im Domain Name System (DNS) oder ähnlichen Mechanismen zur Namensauflösung geeignet ist.
Im Allgemeinen ist eine Adresse zur Veröffentlichung geeignet, wenn sie eine Adresse ist, unter der dieser Rechner für einen unbestimmten Zeitraum erreichbar ist, wobei sie nicht dauerhaft sein muss. Beispielsweise sind über DHCP bezogene Adressen oft geeignet, kryptografisch generierte temporäre IPv6-Adressen hingegen nicht.
Auf einigen Systemen muss „ QNetworkInterface “ heuristisch ermitteln, welche Adressen geeignet sind.
Siehe auch „ isLifetimeKnown()“, „ isPermanent()“ und „ setDnsEligibility()“.
QHostAddress QNetworkAddressEntry::ip() const
Diese Funktion gibt eine gefundene IPv4- oder IPv6-Adresse zurück, die in einer Netzwerkschnittstelle gefunden wurde.
Siehe auch ` setIp()`.
bool QNetworkAddressEntry::isLifetimeKnown() const
Gibt „ true “ zurück, wenn die Lebensdauer der Adresse bekannt ist, andernfalls „ false “. Ist die Lebensdauer nicht bekannt, geben sowohl „ preferredLifetime()“ als auch „ validityLifetime()“ „ QDeadlineTimer::Forever “ zurück.
Siehe auch preferredLifetime(), validityLifetime(), setAddressLifetime() und clearAddressLifetime().
bool QNetworkAddressEntry::isPermanent() const
Gibt „ true “ zurück, wenn diese Adresse auf dieser Schnittstelle dauerhaft zugewiesen ist, und „ false “, wenn sie vorübergehend zugewiesen ist. Eine dauerhafte Adresse ist eine Adresse ohne Ablaufzeit, die häufig statisch (manuell konfiguriert) ist.
Wenn diese Information nicht ermittelt werden konnte, gibt diese Funktion „ true “ zurück.
Hinweis: Je nach Betriebssystem und Netzwerkkonfigurationstool kann es vorkommen, dass eine temporäre Adresse als permanente Adresse interpretiert wird, wenn das Tool die Details nicht korrekt an das Betriebssystem übermittelt hat.
Siehe auch isLifetimeKnown(), validityLifetime() und isTemporary().
bool QNetworkAddressEntry::isTemporary() const
Gibt „ true “ zurück, wenn diese Adresse auf dieser Schnittstelle temporär ist, und „ false “, wenn sie dauerhaft ist.
Siehe auch isLifetimeKnown(), validityLifetime() und isPermanent().
QHostAddress QNetworkAddressEntry::netmask() const
Gibt die zur IP-Adresse gehörende Netzmaske zurück. Die Netzmaske wird in Form einer IP-Adresse angegeben, beispielsweise 255.255.0.0.
Bei IPv6-Adressen wird die Präfixlänge in eine Adresse umgewandelt, bei der die Anzahl der auf 1 gesetzten Bits der Präfixlänge entspricht. Bei einer Präfixlänge von 64 Bit (dem gängigsten Wert) wird die Netzmaske als „ QHostAddress “ ausgedrückt, der die Adresse FFFF:FFFF:FFFF:FFFF enthält::
Siehe auch „ setNetmask “ () und „ prefixLength “ ().
QDeadlineTimer QNetworkAddressEntry::preferredLifetime() const
Gibt den Stichtag zurück, an dem diese Adresse veraltet ist (nicht mehr bevorzugt wird), sofern bekannt. Ist die Lebensdauer der Adresse nicht bekannt (siehe isLifetimeKnown()), gibt diese Funktion immer „ QDeadlineTimer::Forever “ zurück.
Solange eine Adresse bevorzugt wird, kann sie vom Betriebssystem als Absenderadresse für neue, ausgehende Pakete verwendet werden. Nachdem sie als veraltet markiert wurde, bleibt sie für eingehende Pakete noch eine Weile gültig, bis sie schließlich entfernt wird (siehe validityLifetime()).
Siehe auch validityLifetime(), isLifetimeKnown(), setAddressLifetime() und clearAddressLifetime().
int QNetworkAddressEntry::prefixLength() const
Gibt die Präfixlänge dieser IP-Adresse zurück. Die Präfixlänge entspricht der Anzahl der Bits, die in der Netzmaske auf 1 gesetzt sind (siehe netmask()). Bei IPv4-Adressen liegt der Wert zwischen 0 und 32. Bei IPv6-Adressen liegt er zwischen 0 und 128 und stellt die bevorzugte Form der Adressdarstellung dar.
Diese Funktion gibt -1 zurück, wenn die Präfixlänge nicht ermittelt werden konnte (d. h., netmask() gibt einen Nullwert für QHostAddress() zurück).
Siehe auch ` setPrefixLength()` und ` netmask()`.
void QNetworkAddressEntry::setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity)
Setzt sowohl die bevorzugte als auch die gültige Lebensdauer für diese Adresse auf die Zeitlimits „ preferred “ bzw. „ validity “. Nach diesem Aufruf gibt „ isLifetimeKnown()“ den Wert „ true “ zurück, selbst wenn beide Parameter „ QDeadlineTimer::Forever “ lauten.
Siehe auch preferredLifetime(), validityLifetime(), isLifetimeKnown() und clearAddressLifetime().
void QNetworkAddressEntry::setBroadcast(const QHostAddress &newBroadcast)
Legt die Broadcast-IP-Adresse dieses „ QNetworkAddressEntry “-Objekts auf „ newBroadcast “ fest.
Siehe auch broadcast().
void QNetworkAddressEntry::setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status)
Setzt das DNS-Berechtigungsflag für diese Adresse auf „ status “.
Siehe auch dnsEligibility().
void QNetworkAddressEntry::setIp(const QHostAddress &newIp)
Setzt die IP-Adresse, die das Objekt „ QNetworkAddressEntry “ enthält, auf „ newIp “.
Siehe auch ip().
void QNetworkAddressEntry::setNetmask(const QHostAddress &newNetmask)
Legt die Netzmaske, die dieses QNetworkAddressEntry -Objekt enthält, auf newNetmask fest. Durch das Festlegen der Netzmaske wird auch die Präfixlänge entsprechend der neuen Netzmaske angepasst.
Siehe auch „ netmask()“ und „ setPrefixLength()“.
void QNetworkAddressEntry::setPrefixLength(int length)
Legt die Präfixlänge dieser IP-Adresse auf „ length “ fest. Der Wert von „ length “ muss für diesen IP-Adresstyp gültig sein: zwischen 0 und 32 für IPv4-Adressen, zwischen 0 und 128 für IPv6-Adressen. Die Einstellung eines ungültigen Werts entspricht der Einstellung von -1, was „keine Präfixlänge“ bedeutet.
Durch das Festlegen der Präfixlänge wird auch die Netzmaske festgelegt (siehe netmask()).
Siehe auch prefixLength() und setNetmask().
[noexcept] void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)
Ersetzt diese Instanz des Netzwerkadresseneintrags durch other. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
QDeadlineTimer QNetworkAddressEntry::validityLifetime() const
Gibt den Zeitpunkt zurück, zu dem diese Adresse ungültig wird und aus dem Netzwerkstack entfernt wird, sofern bekannt. Ist die Lebensdauer der Adresse nicht bekannt (siehe isLifetimeKnown()), gibt diese Funktion immer „ QDeadlineTimer::Forever “ zurück.
Solange eine Adresse gültig ist, wird sie vom Betriebssystem als gültige Zieladresse für diesen Rechner akzeptiert. Ob sie als Quelladresse für neue, ausgehende Pakete verwendet wird, wird unter anderem durch die bevorzugte Lebensdauer gesteuert (siehe preferredLifetime()).
Siehe auch preferredLifetime(), isLifetimeKnown(), setAddressLifetime() und clearAddressLifetime().
bool QNetworkAddressEntry::operator!=(const QNetworkAddressEntry &other) const
Gibt „ true “ zurück, wenn sich dieser Netzwerkadresseintrag von „ other “ unterscheidet.
QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)
Erstellt eine Kopie des Objekts „ QNetworkAddressEntry “ other.
bool QNetworkAddressEntry::operator==(const QNetworkAddressEntry &other) const
Gibt „ true “ zurück, wenn dieser Netzwerkadresseintrag mit „ other “ übereinstimmt.
Verwandte Nicht-Mitglieder
[since 6.2] QDebug operator<<(QDebug debug, const QNetworkAddressEntry &entry)
Schreibt die Datei „ QNetworkAddressEntry “ ( entry ) in den Stream und gibt eine Referenz auf den Stream „ debug “ zurück.
Diese Funktion wurde in Qt 6.2 eingeführt.
© 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.