Pensé que era QHostAddress, pero extrañamente no proporciona métodos para validar si la dirección IP es válida o no (ya no está en desuso en Qt3).¿Proporciona Qt una clase que representa una dirección IP?
¿Alguien sabe?
Pensé que era QHostAddress, pero extrañamente no proporciona métodos para validar si la dirección IP es válida o no (ya no está en desuso en Qt3).¿Proporciona Qt una clase que representa una dirección IP?
¿Alguien sabe?
Aquí está la respuesta oficial de Nokia ingeniero de soporte, nombre sea retirado de protección de la privacidad:
He publicado una pregunta sobre stackoverflow.com de la siguiente manera:
Does Qt provide a class that represents an IP address?
Puede veo que alguien publicó una solución a mi pregunta ya.
Sin embargo, quiero preguntar cómo es que Nokia no sólo proporciona un método para
QHostAddress (como isValid()) que comprobará la validez de la dirección de host?
Gracias por su consulta. Puede utilizar el método isNull() para verificar la validez . Devolverá verdadero para direcciones inválidas: http://doc.qt.digia.com/4.6/qhostaddress.html#isNull
Espero que esto ayude.
Saludos,
Support Engineer, de desarrollo Qt Marcos, Nokia
Existe una alternativa al uso de isIpv4Address()
y isIPv6Address()
. Por ejemplo:
QHostAddress address(myString);
if (QAbstractSocket::IPv4Protocol == address.protocol())
{
qDebug("Valid IPv4 address.");
}
else if (QAbstractSocket::IPv6Protocol == address.protocol())
{
qDebug("Valid IPv6 address.");
}
else
{
qDebug("Unknown or invalid address.");
}
Consulte también:
http://doc.qt.digia.com/4.6/qhostaddress.html#protocol
Espero que esto ayude.
bool
El valor de retorno de QHostAddress::setAddress(const QString &address)
indica si la serie se analiza con éxito como una dirección IPv4 o IPv6.
QHostAddress addr;
if (addr.setAddress(myString)) {
// valid
} else {
// invalid
}
Cuando dice "métodos para validar si la dirección IP es válida", se está refiriendo a la 'isIPv4Address()' y '' isIPv6Address) métodos (o algo más? –
¿Cómo se define "válido"? – PiedPiper
@RA, sí, estás en lo cierto. Básicamente, solo quería una clase que tomara QString, y me dice si QString es una dirección IP válida. Pensé que QHostAddress era ese, pero probablemente no. – sivabudh