QHostAddress类用于表示一台主机在网络上的IP地址。
QHostAddress类的构造函数存在多个重载版本,其中最常用的是用点分十进制形式的IP地址字符串,构造QHostAddress类型的对象:
xxxxxxxxxx
11QHostAddress::QHostAddress(const QString& address); // 用点分十进制形式的IP地址字符串,构造QHostAddress类型的对象
QHostAddress类提供如下常用方法:
xxxxxxxxxx
21QString QHostAddress::toString() const; // 返回点分十进制形式的IP地址字符串
2QAbstractSocket::NetworkLayerProtocol QHostAddress::protocol() const; // 返回网络层协议
其中QAbstractSocket::NetworkLayerProtocol是一个表示网络层协议的枚举类型,可取以下值:
QAbstractSocket::NetworkLayerProtocol | 描述 |
---|---|
QAbstractSocket::IPv4Protocol | IPv4 |
QAbstractSocket::IPv6Protocol | IPv6 |
QAbstractSocket::AnyIPProtocol | IPv4或 IPv6 |
QAbstractSocket::UnknownNetworkLayerProtocol | 既非IPv4亦非IPv6 |
QHostAddress::SpecialAddress是一个表示特殊地址的枚举类型,其取值如下:
QHostAddress::SpecialAddress | 等价表示 | 描述 |
---|---|---|
QHostAddress::LocalHost | QHostAddress("127.0.0.1") | IPv4形式的本机地址 |
QHostAddress::LocalHostIPv6 | QHostAddress("::1") | IPv6形式的本机地址 |
QHostAddress::Broadcast | QHostAddress("255.255.255.255") | IPv4形式的广播地址 |
QHostAddress::AnyIPv4 | QHostAddress("0.0.0.0") | IPv4形式的任意地址 |
QHostAddress::AnyIPv6 | QHostAddress("::") | IPv6形式的任意地址 |
QHostAddress::Any | IPv4和IPv6形式的任意地址 |