QTcpSocket *sock = new QTcpSocket();
sock->connectToHost("www.example.com", 80);
if (sock->waitForConnected()) {
QString ip = sock->peerAddress().toString();
if (sock->peerAddress().protocol() == QAbstractSocket::IPv6Protocol && ip.startsWith("::ffff:")) {
quint32 ipv4 = QHostAddress(ip.mid(7)).toIPv4Address();
qDebug() << "IPv4地址:" << QHostAddress(ipv4).toString(); // IPv4地址: 192.168.0.1
} else {
qDebug() << "IP地址:" << ip;
}
}
sock->peerAddress().toString();返回::ffff:192.168.0.1如何只保留ipv4
于 2023-04-12 10:28:15 首次发布