0

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

4

1 回答 1

3

只需查看文档。peerAddress()返回一个泛型——它QHostAddress不限于 IPv4!只要您已连接到 IPV6 对等体,完整的 IPV6 地址将通过使用返回QHostAddress::toIPv6Address。像这样:

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();
  ...
}
于 2012-06-08T20:01:34.260 回答