QNetworkAddressEntry Class
La clase QNetworkAddressEntry almacena una dirección IP soportada por una interfaz de red, junto con su máscara de red y dirección de difusión asociadas. Más...
| Cabecera: | #include <QNetworkAddressEntry> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network)target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
- Lista de todos los miembros, incluyendo los heredados
- QNetworkAddressEntry es parte de la API de Programación de Redes y Clases Implícitamente Compartidas.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
| enum | DnsEligibilityStatus { DnsEligibilityUnknown, DnsEligible, DnsIneligible } |
Funciones Públicas
| 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 |
No miembros relacionados
(since 6.2) QDebug | operator<<(QDebug debug, const QNetworkAddressEntry &entry) |
Descripción detallada
Cada interfaz de red puede contener cero o más direcciones IP, que a su vez pueden estar asociadas con una máscara de red y/o una dirección de difusión (dependiendo del soporte del sistema operativo).
Esta clase representa uno de estos grupos.
Tipo de miembro Documentación
enum QNetworkAddressEntry::DnsEligibilityStatus
Este enum indica si una dirección de host dada es apta para ser publicada en el Sistema de Nombres de Dominio (DNS) u otros mecanismos similares de resolución de nombres. En general, una dirección es apta para su publicación si es una dirección en la que esta máquina será localizada durante un periodo de tiempo indeterminado, aunque no tiene por qué ser permanente. Por ejemplo, las direcciones obtenidas mediante DHCP suelen ser aptas, pero las direcciones IPv6 temporales generadas criptográficamente no lo son.
| Constante | Valor | Descripción |
|---|---|---|
QNetworkAddressEntry::DnsEligibilityUnknown | -1 | Qt y el sistema operativo no pudieron determinar si esta dirección debe ser publicada o no. La aplicación puede necesitar aplicar más heurísticas si no puede encontrar ninguna dirección elegible. |
QNetworkAddressEntry::DnsEligible | 1 | Esta dirección es elegible para su publicación en DNS. |
QNetworkAddressEntry::DnsIneligible | 0 | Esta dirección no debería ser publicada en DNS y no debería ser transmitida a otras partes, excepto quizás como la dirección de origen de un paquete saliente. |
Véase también dnsEligibility() y setDnsEligibility().
Documentación de la función de miembro
QNetworkAddressEntry::QNetworkAddressEntry()
Construye un objeto QNetworkAddressEntry vacío.
QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)
Construye un objeto QNetworkAddressEntry que es una copia del objeto other.
[noexcept] QNetworkAddressEntry::~QNetworkAddressEntry()
Destruye este objeto QNetworkAddressEntry.
QHostAddress QNetworkAddressEntry::broadcast() const
Devuelve la dirección de difusión asociada a la dirección IPv4 y la máscara de red. Normalmente se puede derivar a partir de estas dos poniendo a 1 los bits de la dirección IP donde la máscara de red contiene un 0. (En otras palabras, mediante bitwise-OR'ing la dirección IP con el inverso de la máscara de red)
Este miembro está siempre vacío para las direcciones IPv6, ya que en este sistema se ha abandonado el concepto de difusión en favor de la multidifusión. En particular, el grupo de hosts correspondiente a todos los nodos de la red local puede ser alcanzado por el grupo especial multicast "all-nodes" (dirección FF02::1).
Véase también setBroadcast().
void QNetworkAddressEntry::clearAddressLifetime()
Restablece tanto el tiempo de vida preferido como el válido para esta dirección. Después de esta llamada, isLifetimeKnown() devolverá false.
Véase también preferredLifetime(), validityLifetime(), isLifetimeKnown(), y setAddressLifetime().
QNetworkAddressEntry::DnsEligibilityStatus QNetworkAddressEntry::dnsEligibility() const
Devuelve si esta dirección es apta para su publicación en el Sistema de Nombres de Dominio (DNS) o mecanismos similares de resolución de nombres.
En general, una dirección es apta para su publicación si es una dirección en la que esta máquina será localizada durante un tiempo indeterminado, aunque no tiene por qué ser permanente. Por ejemplo, las direcciones obtenidas mediante DHCP suelen ser aptas, pero las direcciones IPv6 temporales generadas criptográficamente no lo son.
En algunos sistemas, QNetworkInterface necesitará determinar heurísticamente qué direcciones son elegibles.
Véase también isLifetimeKnown(), isPermanent() y setDnsEligibility().
QHostAddress QNetworkAddressEntry::ip() const
Esta función devuelve una dirección IPv4 o IPv6 encontrada, que fue encontrada en una interfaz de red.
Véase también setIp().
bool QNetworkAddressEntry::isLifetimeKnown() const
Devuelve true si se conoce el tiempo de vida de la dirección, false en caso contrario. Si no se conoce el tiempo de vida, tanto preferredLifetime() como validityLifetime() devolverán QDeadlineTimer::Forever.
Véase también preferredLifetime(), validityLifetime(), setAddressLifetime() y clearAddressLifetime().
bool QNetworkAddressEntry::isPermanent() const
Devuelve true si esta dirección es permanente en esta interfaz, false si es temporal. Una dirección permanente es aquella que no tiene tiempo de expiración y suele ser estática (configurada manualmente).
Si no se ha podido determinar esta información, esta función devuelve true.
Nota: Dependiendo del sistema operativo y de la herramienta de configuración de red, es posible que una dirección temporal sea interpretada como permanente, si la herramienta no informó correctamente los detalles al sistema operativo.
Véase también isLifetimeKnown(), validityLifetime(), y isTemporary().
bool QNetworkAddressEntry::isTemporary() const
Devuelve true si esta dirección es temporal en esta interfaz, false si es permanente.
Véase también isLifetimeKnown(), validityLifetime(), y isPermanent().
QHostAddress QNetworkAddressEntry::netmask() const
Devuelve la máscara de red asociada a la dirección IP. La máscara de red se expresa en forma de dirección IP, como 255.255.0.0.
Para direcciones IPv6, la longitud del prefijo se convierte en una dirección donde el número de bits puestos a 1 es igual a la longitud del prefijo. Para una longitud de prefijo de 64 bits (el valor más común), la máscara de red se expresará como QHostAddress con la dirección FFFF:FFFF:FFFF:FFFF::
Véase también setNetmask() y prefixLength().
QDeadlineTimer QNetworkAddressEntry::preferredLifetime() const
Devuelve la fecha límite en la que esta dirección pasa a estar obsoleta (deja de ser preferida), si se conoce. Si no se conoce la fecha límite de la dirección (véase isLifetimeKnown()), esta función siempre devuelve QDeadlineTimer::Forever.
Mientras una dirección es preferida, puede ser utilizada por el sistema operativo como dirección de origen para nuevos paquetes salientes. Después de convertirse en obsoleta, seguirá siendo válida para los paquetes entrantes durante un tiempo más hasta que finalmente se elimine (véase validityLifetime()).
Ver también validityLifetime(), isLifetimeKnown(), setAddressLifetime(), y clearAddressLifetime().
int QNetworkAddressEntry::prefixLength() const
Devuelve la longitud del prefijo de esta dirección IP. La longitud del prefijo coincide con el número de bits puestos a 1 en la máscara de red (véase netmask()). Para direcciones IPv4, el valor está comprendido entre 0 y 32. Para direcciones IPv6, está entre 0 y 128 y es la forma preferida de representar direcciones.
Esta función devuelve -1 si no se ha podido determinar la longitud del prefijo (es decir, netmask() devuelve un QHostAddress() nulo).
Véase también setPrefixLength() y netmask().
void QNetworkAddressEntry::setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity)
Establece tanto el tiempo de vida preferido como el válido para esta dirección en los plazos preferred y validity, respectivamente. Después de esta llamada, isLifetimeKnown() devolverá true, incluso si ambos parámetros son QDeadlineTimer::Forever.
Véase también preferredLifetime(), validityLifetime(), isLifetimeKnown(), y clearAddressLifetime().
void QNetworkAddressEntry::setBroadcast(const QHostAddress &newBroadcast)
Establece la dirección IP de difusión de este objeto QNetworkAddressEntry en newBroadcast.
Véase también broadcast().
void QNetworkAddressEntry::setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status)
Establece el indicador de elegibilidad DNS para esta dirección en status.
Véase también dnsEligibility().
void QNetworkAddressEntry::setIp(const QHostAddress &newIp)
Establece la dirección IP que contiene el objeto QNetworkAddressEntry en newIp.
Véase también ip().
void QNetworkAddressEntry::setNetmask(const QHostAddress &newNetmask)
Establece la máscara de red que contiene este objeto QNetworkAddressEntry a newNetmask. Al establecer la máscara de red también se establece la longitud del prefijo para que coincida con la nueva máscara de red.
Véase también netmask() y setPrefixLength().
void QNetworkAddressEntry::setPrefixLength(int length)
Establece la longitud del prefijo de esta dirección IP en length. El valor de length debe ser válido para este tipo de dirección IP: entre 0 y 32 para direcciones IPv4, entre 0 y 128 para direcciones IPv6. Establecer cualquier valor inválido es equivalente a establecer -1, lo que significa "sin longitud de prefijo".
Al establecer la longitud del prefijo también se establece la máscara de red (véase netmask()).
Véase también prefixLength() y setNetmask().
[noexcept] void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)
Intercambia esta instancia de entrada de dirección de red con other. Esta operación es muy rápida y nunca falla.
QDeadlineTimer QNetworkAddressEntry::validityLifetime() const
Devuelve la fecha límite en la que esta dirección deja de ser válida y será eliminada de la pila de red, si se conoce. Si no se conoce el plazo de validez de la dirección (véase isLifetimeKnown()), esta función siempre devuelve QDeadlineTimer::Forever.
Mientras una dirección sea válida, será aceptada por el sistema operativo como una dirección de destino válida para esta máquina. Si es usada como dirección de origen para nuevos paquetes salientes es controlado por, entre otras reglas, el tiempo de vida preferido (ver preferredLifetime()).
Ver también preferredLifetime(), isLifetimeKnown(), setAddressLifetime(), y clearAddressLifetime().
bool QNetworkAddressEntry::operator!=(const QNetworkAddressEntry &other) const
Devuelve true si esta entrada de dirección de red es diferente de other.
QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)
Hace una copia del objeto QNetworkAddressEntry other .
bool QNetworkAddressEntry::operator==(const QNetworkAddressEntry &other) const
Devuelve true si esta entrada de dirección de red es la misma que other.
No miembros relacionados
[since 6.2] QDebug operator<<(QDebug debug, const QNetworkAddressEntry &entry)
Escribe el QNetworkAddressEntry entry en el flujo y devuelve una referencia al flujo debug.
Esta función se introdujo en 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.