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