- class QNetworkAddressEntry#
QNetworkAddressEntry
类存储一个由网络接口支持的网络地址及其关联的子网掩码和广播地址。更多...摘要#
方法#
定义
__init__()
定义
broadcast()
定义
ip()
定义
netmask()
定义
__ne__()
定义
__eq__()
定义
setIp()
定义
setNetmask()
定义
swap()
注
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式来告诉我们。
详细说明#
每个网络接口可以包含零个或多个IP地址,同时这些地址可以关联到一个子网掩码和一个/或广播地址(取决于操作系统的支持)。
此类表示这样的一个组。
- class DnsEligibilityStatus#
该枚举指示给定的主机地址是否适合在域名系统(DNS)或其他类似名称解析机制中发布。通常情况下,如果地址在此机器上可被访问不确定的时间长度,则该地址适合进行发布,尽管它需要不一定是永久的。例如,通过DHCP获得的地址通常符合条件,但通过加密生成的临时IPv6地址则不符合。
常量
描述
QNetworkAddressEntry.DnsEligibilityUnknown
Qt和操作系统无法确定是否应该发布此地址。如果找不到符合条件的地址,则应用程序可能需要应用更多的启发式方法。
QNetworkAddressEntry.DnsEligible
此地址符合DNS发布的要求。
QNetworkAddressEntry.DnsIneligible
此地址不应在DNS中发布,也不应传输给第三方,除非可能是作为出站数据包的源地址。
- __init__(other)#
- 参数:
other –
QNetworkAddressEntry
构造一个
QNetworkAddressEntry
对象,该对象是other
对象的副本。- __init__()
构造一个空的
QNetworkAddressEntry
对象。- broadcast()#
- 返回类型:
返回与IPv4地址和子网掩码关联的广播地址。它通常可以通过将IP地址中子网掩码包含为0的位的值设置为1来推导出来。(换句话说,通过将IP地址与子网掩码的逆进行按位或操作)
由于在IPv6系统中已经放弃了广播这一概念,转而使用多播,因此此成员对于IPv6地址始终为空。特别是,可以通过“all-nodes”特殊多播组(地址FF02::1)到达对应于本地网络中所有节点的主机组。
另请参阅
- clearAddressLifetime()#
重置这个地址的首选有效寿命。本调用后,isLifetimeKnown() 将返回
false
。- dnsEligibility()#
- 返回类型:
返回此地址是否适合在域名系统 (DNS) 或类似的名 resolution 机制中发布。
一般而言,如果此地址是该机器在不确定时间内可以访问的地址,则适合公布,尽管它不必是永久的。例如,通过 DHCP 获得的地址通常是有资格的,但通过密码学生成的临时 IPv6 地址则不是。
在某些系统中,可能需要通过启发式方法确定哪些地址有资格。
- ip()#
- 返回类型:
此函数返回一个在网络接口中找到的 IPv4 或 IPv6 地址。
另请参阅
- isLifetimeKnown()#
- 返回类型:
bool
如果地址寿命已知,则返回
true
,否则返回false
。如果寿命未知,则 preferredLifetime() 和 validityLifetime() 将返回 QDeadlineTimer::Forever。- isPermanent()#
- 返回类型:
bool
如果此接口上的地址永久有效,则返回
true
,如果是临时地址,则返回false
。永久地址是没有过期时间的,通常是静态的(手动配置)。如果不能确定此信息,此函数将返回
true
。注
根据操作系统和网络配置工具的不同,临时地址可能被错误地解释为永久地址,如果工具没有将详细信息正确地通知给操作系统。
- isTemporary()#
- 返回类型:
bool
如果此接口上的地址是临时地址,则返回
true
,如果是永久地址,则返回false
。- netmask()#
- 返回类型:
返回与IP地址关联的网络掩码。网络掩码以IP地址的形式表示,例如255.255.0.0。
对于IPv6地址,前缀长度转换为具有与前缀长度相同数量的1位的地址。对于64位前缀长度(最常见的值),网络掩码将以包含地址FFFF:FFFF:FFFF:FFFF的
QHostAddress
表示。.. seealso:: :meth:`setNetmask()<PySide6.QtNetwork.QNetworkAddressEntry.setNetmask>` :meth:`prefixLength()<PySide6.QtNetwork.QNetworkAddressEntry.prefixLength>`
- __ne__(other)#
- 参数:
other –
QNetworkAddressEntry
- 返回类型:
bool
如果此网络地址条目与
other
不同,则返回true
。- __eq__(other)#
- 参数:
other –
QNetworkAddressEntry
- 返回类型:
bool
如果此网络地址条目与
other
相同,则返回true
。- preferredLifetime()#
- 返回类型:
如果知道此地址成为废弃的截止日期(不再首选),则返回该截止日期。如果地址的生命周期未知(见
isLifetimeKnown()
),则此函数始终返回QDeadlineTimer::Forever。当地址是首选时,操作系统可能会将其用作新发出的数据包的源地址。在它被废弃后,它将继续对所有接收到的数据包有效一段时间,最终才会被移除(见
validityLifetime()
)。- prefixLength()#
- 返回类型:
int
返回此IP地址的前缀长度。前缀长度匹配网络掩码中设置为1的位数(见
netmask()
)。对于IPv4地址,值介于0到32之间。对于IPv6地址,它在0到128之间,是表示地址的首选形式。如果无法确定前缀长度(即,
netmask()
返回一个空的 QHostAddress()),则此函数返回-1。- setAddressLifetime(preferred, validity)#
- 参数:
推荐 –
QDeadlineTimer
有效期 –
QDeadlineTimer
分别将此地址的推荐和有效期生存期设置为
recommended
和validity
的截止日期。在本调用之后,即使两个参数都是QDeadlineTimer::Forever,isLifetimeKnown()
将返回true
。- setBroadcast(newBroadcast)#
- 参数:
newBroadcast –
QHostAddress
将此
QNetworkAddressEntry
对象的广播IP地址设置为newBroadcast
。另请参阅
- setDnsEligibility(status)#
- 参数:
status –
DnsEligibilityStatus
为此地址设置DNS资格标志为
status
。另请参阅
- setIp(newIp)#
- 参数:
newIp –
QHostAddress
将此
QNetworkAddressEntry
对象包含的IP地址设置为newIp
。另请参阅
- setNetmask(newNetmask)#
- 参数:
newNetmask –
QHostAddress
将此
QNetworkAddressEntry
对象包含的子网掩码设置为newNetmask
。设置子网掩码也会设置前缀长度以匹配新的子网掩码。- setPrefixLength(length)#
- 参数:
length – int
将此IP地址的前缀长度设置为
length
。此length
值必须对此类型IP地址有效:对于IPv4地址,介于0到32之间;对于IPv6地址,介于0到128之间。将任何无效值设置为-1等效于“没有前缀长度”。设置前缀长度也会设置子网掩码(请参见
netmask()
)。- swap(other)#
- 参数:
other –
QNetworkAddressEntry
与此网络地址条目实例交换
other
。此函数非常快速且从不失败。- validityLifetime()#
- 返回类型:
返回地址变为无效的截止日期,并将在已知的情况下从网络堆栈中删除,如果已知。如果地址生命周期未知(请参阅
isLifetimeKnown()
),则此函数始终返回QDeadlineTimer::Forever。当地址有效时,操作系统会将它接受为此机器的合法目标地址。它是作为新的输出数据包的源地址使用,由预定生命周期(请参阅
preferredLifetime()
)和其他规则控制。