是否可以使用QAbstractSocket检索IPv6地址?

时间:2012-06-08 17:50:16

标签: qt ipv6

是否可以在QAbstractSocket上检索IPv6地址?您可以使用QAbstractSocket::peerAddress()检索IPv4,但我不确定IPv6。

1 个答案:

答案 0 :(得分:3)

看看文档。 peerAddress()返回通用QHostAddress - 它不仅限于IPv4!只要您连接到IPV6对等体,就会使用QHostAddress::toIPv6Address返回完整的IPV6地址。像这样:

QAbstractSocket socket;
socket.connectToHost(QHostAddress("2607:f8b0:4009:803::1005"), 80); // google.com
....
const QHostAddress & addr = socket.peerAddress();
if (addr.protocol() == QAbstractSocket::IPv6Protocol) {
  Q_IPV6ADDR address6 = addr.toIPv6Address();
  ...
}