En esta página

QHostInfo Class

La clase QHostInfo proporciona funciones estáticas para la búsqueda de nombres de host. Más...

Cabecera: #include <QHostInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

Nota: Todas las funciones de esta clase son reentrantes.

Tipos Públicos

enum HostInfoError { NoError, HostNotFound, UnknownError }

Funciones Públicas

QHostInfo(int id = -1)
QHostInfo(const QHostInfo &other)
QHostInfo(QHostInfo &&other)
~QHostInfo()
QList<QHostAddress> addresses() const
QHostInfo::HostInfoError error() const
QString errorString() const
QString hostName() const
int lookupId() const
void setAddresses(const QList<QHostAddress> &addresses)
void setError(QHostInfo::HostInfoError error)
void setErrorString(const QString &str)
void setHostName(const QString &hostName)
void setLookupId(int id)
void swap(QHostInfo &other)
QHostInfo &operator=(QHostInfo &&other)
QHostInfo &operator=(const QHostInfo &other)

Miembros Públicos Estáticos

void abortHostLookup(int id)
QHostInfo fromName(const QString &name)
QString localDomainName()
QString localHostName()
int lookupHost(const QString &name, const QObject *receiver, const char *member)
int lookupHost(const QString &name, Functor &&functor)
int lookupHost(const QString &name, const QObject *context, Functor functor)

Descripción Detallada

QHostInfo encuentra la(s) dirección(es) IP asociada(s) a un nombre de host, o el nombre de host asociado a una dirección IP. La clase proporciona dos funciones estáticas de conveniencia: una que trabaja asíncronamente y emite una señal una vez que se encuentra el host, y otra que se bloquea y devuelve un objeto QHostInfo.

Para buscar las direcciones IP de un host de forma asíncrona, llama a lookupHost(), que toma el nombre del host o la dirección IP, un objeto receptor y una firma de ranura como argumentos y devuelve un ID. Puede abortar la búsqueda llamando a abortHostLookup() con el ID de búsqueda.

Ejemplo:

// To find the IP address of qt-project.org
QHostInfo::lookupHost("qt-project.org", this, &MyWidget::printResults);

// To find the host name for 4.2.2.1
QHostInfo::lookupHost("4.2.2.1", this, &MyWidget::printResults);

La ranura se invoca cuando los resultados están listos. Los resultados se almacenan en un objeto QHostInfo. Llame a addresses() para obtener la lista de direcciones IP para el host, y hostName() para obtener el nombre del host que se buscó.

Si la búsqueda falló, error() devuelve el tipo de error que ocurrió. errorString() proporciona una descripción legible del error de búsqueda.

Si desea bloquear la búsqueda, utilice la función QHostInfo::fromName():

QHostInfo info = QHostInfo::fromName("qt-project.org");

QHostInfo admite nombres de dominio internacionalizados (IDN) a través de los estándares IDNA y Punycode.

Para recuperar el nombre del host local, utilice la función estática QHostInfo::localHostName().

QHostInfo utiliza los mecanismos proporcionados por el sistema operativo para realizar la búsqueda. Según RFC 6724 no hay garantía de que se devuelvan todas las direcciones IP registradas para un dominio o host.

Nota: Desde Qt 4.6.1 QHostInfo utiliza múltiples hilos para la búsqueda DNS en lugar de un hilo DNS dedicado. Esto mejora el rendimiento, pero también cambia el orden de las emisiones de señales cuando se usa lookupHost() en comparación con versiones anteriores de Qt.

Nota: Desde Qt 4.6.3 QHostInfo utiliza una pequeña caché DNS interna de 60 segundos para mejorar el rendimiento.

Véase también QAbstractSocket, RFC 3492, y RFC 6724.

Documentación de tipos de miembros

enum QHostInfo::HostInfoError

Este enum describe los distintos errores que pueden producirse al intentar resolver un nombre de host.

ConstanteValorDescripción
QHostInfo::NoError0La búsqueda se ha realizado correctamente.
QHostInfo::HostNotFound1No se han encontrado direcciones IP para el host.
QHostInfo::UnknownError2Se ha producido un error desconocido.

Véase también error() y setError().

Documentación de las funciones miembro

[explicit] QHostInfo::QHostInfo(int id = -1)

Construye un objeto de información de host vacío con el ID de búsqueda id.

Véase también lookupId().

QHostInfo::QHostInfo(const QHostInfo &other)

Construye una copia de other.

[noexcept] QHostInfo::QHostInfo(QHostInfo &&other)

Move-construye un nuevo QHostInfo a partir de other.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

[noexcept] QHostInfo::~QHostInfo()

Destruye el objeto de información del host.

[static] void QHostInfo::abortHostLookup(int id)

Aborta la búsqueda de host con el ID id, devuelto por lookupHost().

Véase también lookupHost() y lookupId().

QList<QHostAddress> QHostInfo::addresses() const

Devuelve la lista de direcciones IP asociadas a hostName(). Esta lista puede estar vacía.

Ejemplo:

QHostInfo info;
...
if (!info.addresses().isEmpty()) {
    QHostAddress address = info.addresses().first();
    // use the first IP address
}

Véase también setAddresses(), hostName(), y error().

QHostInfo::HostInfoError QHostInfo::error() const

Devuelve el tipo de error que se ha producido si ha fallado la búsqueda del nombre de host; en caso contrario devuelve NoError.

Véase también setError() y errorString().

QString QHostInfo::errorString() const

Si la búsqueda falla, esta función devuelve una descripción legible del error; en caso contrario, devuelve "Error desconocido".

Véase también setErrorString() y error().

[static] QHostInfo QHostInfo::fromName(const QString &name)

Busca la(s) dirección(es) IP del host dado name. La función se bloquea durante la búsqueda, lo que significa que la ejecución del programa se suspende hasta que los resultados de la búsqueda estén listos. Devuelve el resultado de la búsqueda en un objeto QHostInfo.

Si se pasa una dirección IP literal a name en lugar de un nombre de host, QHostInfo buscará el nombre de dominio para la IP (es decir, QHostInfo realizará una búsqueda inversa ). En caso de éxito, el QHostInfo devuelto contendrá tanto el nombre de dominio resuelto como las direcciones IP para el nombre de host.

Véase también lookupHost().

QString QHostInfo::hostName() const

Devuelve el nombre del host cuyas direcciones IP se han buscado.

Véase también setHostName() y localHostName().

[static] QString QHostInfo::localDomainName()

Devuelve el dominio DNS de esta máquina.

Nota: Los dominios DNS no están relacionados con los nombres de dominio que se encuentran en las redes Windows.

Véase también hostName().

[static] QString QHostInfo::localHostName()

Devuelve el nombre de host de esta máquina, si hay uno configurado. Tenga en cuenta que no se garantiza que los nombres de host sean globalmente únicos, especialmente si se configuraron automáticamente.

Esta función no garantiza que el nombre de host devuelto sea un Nombre de Dominio Completamente Cualificado (FQDN). Para ello, utilice fromName() para resolver el nombre devuelto a un FQDN.

Esta función devuelve lo mismo que QSysInfo::machineHostName().

Véase también hostName() y localDomainName().

[static] int QHostInfo::lookupHost(const QString &name, const QObject *receiver, const char *member)

Busca la(s) dirección(es) IP asociada(s) al nombre de host name, y devuelve un ID para la búsqueda. Cuando el resultado de la búsqueda está listo, se llama a la ranura o señal member en receiver con un argumento QHostInfo. El objeto QHostInfo puede entonces ser inspeccionado para obtener los resultados de la búsqueda.

La búsqueda se realiza mediante una única llamada a una función, por ejemplo:

QHostInfo::lookupHost("www.kde.org", this, &MyWidget::lookedUp);

La implementación de la ranura imprime información básica sobre las direcciones devueltas por la búsqueda, o informa de un error si ha fallado:

void MyWidget::lookedUp(const QHostInfo &host) { if (host.error() != QHostInfo::NoError) {        qDebug() << "Lookup failed:" << host.errorString();
       return; } const auto addresses = host.addresses(); for(const QHostAddress &dress: direcciones)        qDebug() << "Found address:" << address.toString();
}

Si pasa una dirección IP literal a name en lugar de un nombre de host, QHostInfo buscará el nombre de dominio para la IP (es decir, QHostInfo realizará una búsqueda inversa ). Si tiene éxito, el resultado QHostInfo contendrá tanto el nombre de dominio resuelto como las direcciones IP para el nombre de host. Ejemplo:

QHostInfo::lookupHost("4.2.2.1", this, &MyWidget::lookedUp);

Nota: No se garantiza el orden en que se emitirán las señales si se inician varias peticiones con lookupHost().

Nota: En versiones de Qt anteriores a la 6.7, esta función tomaba receiver como (no-const) QObject*.

Véase también abortHostLookup(), addresses(), error(), y fromName().

[static] template <typename Functor> int QHostInfo::lookupHost(const QString &name, Functor &&functor)

Busca la(s) dirección(es) IP asociada(s) al nombre de host name, y devuelve un ID para la búsqueda. Cuando el resultado de la búsqueda está listo, se llama a functor con un argumento QHostInfo. El objeto QHostInfo puede entonces ser inspeccionado para obtener los resultados de la búsqueda.

El functor se ejecutará en el hilo que hace la llamada a lookupHost; ese hilo debe tener un bucle de eventos Qt en ejecución.

Nota: No se garantiza el orden en que se emitirán las señales si se inician múltiples peticiones con lookupHost().

Esta es una función sobrecargada.

Véase también abortHostLookup(), addresses(), error(), y fromName().

[static] template <typename Functor> int QHostInfo::lookupHost(const QString &name, const QObject *context, Functor functor)

Busca la(s) dirección(es) IP asociada(s) al nombre de host name, y devuelve un ID para la búsqueda. Cuando el resultado de la búsqueda está listo, se llama a functor con un argumento QHostInfo. El objeto QHostInfo puede entonces ser inspeccionado para obtener los resultados de la búsqueda.

Si context se destruye antes de que finalice la búsqueda, no se llamará a functor. functor se ejecutará en el subproceso de context. El subproceso del contexto debe tener un bucle de eventos Qt en ejecución.

He aquí una firma alternativa para la función:

lookupHost(const QString &name, const QObject *receiver, PointerToMemberFunction function)

En este caso, cuando el resultado de la búsqueda está listo, la ranura o señal function en receiver es llamada con un argumento QHostInfo. El objeto QHostInfo puede entonces ser inspeccionado para obtener los resultados de la búsqueda.

Nota: No se garantiza el orden en que se emitirán las señales si se inician múltiples peticiones con lookupHost().

Se trata de una función sobrecargada.

Véase también abortHostLookup(), addresses(), error(), y fromName().

int QHostInfo::lookupId() const

Devuelve el ID de esta búsqueda.

Véase también setLookupId(), abortHostLookup() y hostName().

void QHostInfo::setAddresses(const QList<QHostAddress> &addresses)

Establece la lista de direcciones en este QHostInfo a addresses.

Véase también addresses().

void QHostInfo::setError(QHostInfo::HostInfoError error)

Establece el tipo de error de este QHostInfo a error.

Véase también error() y errorString().

void QHostInfo::setErrorString(const QString &str)

Establece la descripción legible del error que se ha producido en str si la búsqueda ha fallado.

Véase también errorString() y setError().

void QHostInfo::setHostName(const QString &hostName)

Establece el nombre de host de este QHostInfo en hostName.

Véase también hostName().

void QHostInfo::setLookupId(int id)

Establece el ID de esta búsqueda en id.

Véase también lookupId() y lookupHost().

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

Intercambia este host-info con other. Esta operación es muy rápida y nunca falla.

[noexcept] QHostInfo &QHostInfo::operator=(QHostInfo &&other)

Mover-asigna other a esta instancia QHostInfo.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

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

Asigna los datos del objeto other a este objeto de información del host, y devuelve una referencia al mismo.

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