• Roson的Qt之旅 #119 QNetworkAddressEntry详细介绍


    CSDN话题挑战赛第2期
    参赛话题:Qt应用程序开发


    1.概述

    QNetworkAddressEntry类存储了一个网络接口所支持的IP地址,以及其相关的网络掩码和广播地址。
    每个网络接口可以包含零个或多个IP地址,这些地址又可以与一个掩码和/或一个广播地址相关联(取决于操作系统的支持)。
    这个类代表一个这样的组。


    2.成员函数文档

    QNetworkAddressEntry::QNetworkAddressEntry()
    构建一个空的QNetworkAddressEntry对象。


    QNetworkAddressEntry::QNetworkAddressEntry( const QNetworkAddressEntry &other)

    构建一个QNetworkAddressEntry对象,它是other对象的副本。


    QNetworkAddressEntry::~QNetworkAddressEntry()

    销毁此QNetworkAddressEntry对象。


    QHostAddress QNetworkAddressEntry::broadcast() const

    返回与IPv4地址和网络掩码相关的广播地址。它通常可以通过将网络掩码包含0的IP地址位设置为1而得到。(换句话说,通过将IP地址与网络掩码的倒数进行bitwise-OR。)
    对于IPv6地址来说,这个成员总是空的,因为在该系统中,广播的概念已经被放弃,转而使用组播。特别是,对应于本地网络中所有节点的主机组可以通过 "all-nodes "特殊组播组(地址FF02::1)到达。
    另请参见setBroadcast()。


    QHostAddress QNetworkAddressEntry::ip() const

    该函数返回在一个网络接口中发现的一个IPv4或IPv6地址。
    也请参见setIp()。


    QHostAddress QNetworkAddressEntry::netmask() const

    返回与该IP地址相关的网络掩码。网络掩码以IP地址的形式表示,如255.255.0.0。
    对于IPv6地址,前缀长度被转换为一个地址,其中设置为1的位数等于前缀长度。对于一个64位的前缀长度(最常见的值),网络掩码将被表示为一个持有FFF:FFF:FFF:FFF:FFF:的QHostAddress。
    另请参见setNetmask()和prefixLength()。


    int QNetworkAddressEntry::prefixLength() const

    返回这个IP地址的前缀长度。前缀长度与网络掩码中设置为1的位数相匹配(见netmask())。对于IPv4地址,该值在0到32之间。对于IPv6地址,它包含在0到128之间,是表示地址的首选形式。
    如果不能确定前缀长度,该函数返回-1(即netmask()返回空QHostAddress())。
    这个函数在Qt 4.5中引入。
    另请参见setPrefixLength()和netmask()。


    void QNetworkAddressEntry::setBroadcast(const QHostAddress &newBroadcast)

    将此QNetworkAddressEntry对象的广播IP地址设置为newBroadcast。
    也请看broadcast()。

    void QNetworkAddressEntry::setIp(const QHostAddress &newIp)

    将QNetworkAddressEntry对象包含的IP地址设置为newIp。
    也见ip()。


    void QNetworkAddressEntry::setNetmask(const QHostAddress &newNetmask)

    将此QNetworkAddressEntry对象包含的网络掩码设置为newNetmask。设置网络掩码的同时也设置了前缀的长度以匹配新的网络掩码。
    参见netmask()和setPrefixLength()。


    void QNetworkAddressEntry::setPrefixLength(int length)

    将此IP地址的前缀长度设置为length。length的值对于这种类型的IP地址必须是有效的:对于IPv4地址在0到32之间,对于IPv6地址在0到128之间。设置为任何无效的值都相当于设置为-1,这意味着 "没有前缀长度"。
    设置前缀长度的同时也设置了网络掩码(见netmask())。
    这个函数是在Qt 4.5中引入的。
    另见prefixLength()和setNetmask()。


    void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)

    将这个网络地址条目实例与另一个交换。这个函数非常快,而且从不失败。
    这个函数在Qt 5.0中被引入。


    bool QNetworkAddressEntry::operator!=( const QNetworkAddressEntry &other) const

    如果此网络地址条目与其他条目不同,则返回true。


    QNetworkAddressEntry &QNetworkAddressEntry::operator=(QNetworkAddressEntry &&other)

    移动分配运算符。


    QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)

    制作QNetworkAddressEntry对象other的副本。


    bool QNetworkAddressEntry::operator==(Const QNetworkAddressEntry &other) const

    如果此网络地址条目与其他条目相同,则返回true。

  • 相关阅读:
    机器人强化学习——第一人称 VS 第三人称
    Maven 中引用其他项目jar包出现BOOT-INF问题
    flink-sql查询配置与性能优化参数详解
    Shell 脚本学习 day01
    Java-多线程进阶
    【前端面试题4】
    SAVE: 软件分析验证和测试平台
    剑指 Offer 61. 扑克牌中的顺子
    最佳实践:MySQL CDC 同步数据到 ES
    springboot整合mybatis & druid
  • 原文地址:https://blog.csdn.net/jolin678/article/details/126911292