ps专门做兼职的网站天津自动seo
news/
2025/9/23 9:41:59/
文章来源:
ps专门做兼职的网站,天津自动seo,万网 网站,品牌网站设计案例简述 QNetworkInterface类负责提供主机的IP地址和网络接口的列表。 QNetworkInterface表示了当前程序正在运行时与主机绑定的一个网络接口。每个网络接口可能包含0个或多个IP地址#xff0c;每个IP地址都可选择性地与一个子网掩码和/或一个广播地址相关联。这样的列表可以通过…简述 QNetworkInterface类负责提供主机的IP地址和网络接口的列表。 QNetworkInterface表示了当前程序正在运行时与主机绑定的一个网络接口。每个网络接口可能包含0个或多个IP地址每个IP地址都可选择性地与一个子网掩码和/或一个广播地址相关联。这样的列表可以通过addressEntries()方法获得。当子网掩码或者广播地址不必要时可以使用allAddresses()便捷函数来仅仅获得IP地址。 QNetworkInterface使用hardwareAddress()方法获取接口的硬件地址。 不是所有的操作系统都支持这些所有的特性。只有IPv4地址可以保证在所有平台上都能被这个类列举出来尤其是IPv6地址的列举目前只支持Windows XP及相关版本、Linux、MacOS和BSDs。 简述常用接口获取所有IP地址获取网络接口列表更多参考 常用接口 枚举 QNetworkInterface::InterfaceFlag 标识 QNetworkInterface::InterfaceFlags 指定网络接口相关的标识可能的值 常量值描述QNetworkInterface::IsUp0x1网络接口处于活动状态QNetworkInterface::IsRunning0x2网络接口已分配资源QNetworkInterface::CanBroadcast0x4网络接口工作在广播模式QNetworkInterface::IsLoopBack0x8网络接口是环回接口也就是说它是一个虚拟接口其目的是主机本身QNetworkInterface::IsPointToPoint0x10网络接口是一个点对点接口也就是说有一个单一的其他地址可以直接由它到达。QNetworkInterface::CanMulticast0x20网络接口支持多播 注意一个网络接口不能既是broadcast-based又是point-to-point。 InterfaceFlags类型是一个QFlags类型定义它存储一个或InterfaceFlag的组合值。 QListQHostAddress allAddresses() [static] 这个便利函数返回主机上面发现的所有IP地址。相当于allInterfaces()返回的所有对象调用addressEntries()来获取QHostAddress对象列表然后对每一个对象调用QHostAddress::ip()方法。 QListQNetworkInterface allInterfaces() [static] 返回的主机上找到的所有的网络接口的列表。在失败情况下它会返回一个空列表。 QListQNetworkAddressEntry addressEntries() const 返回IP地址列表这个接口具备连同与其相关的网络掩码和广播地址。 如果不需要子网掩码或广播地址的信息可以调用allAddresses()函数来只获取IP地址。 InterfaceFlags flags() const 返回与此网络接口关联的标志。 QString hardwareAddress() const 返回此接口的底层硬件地址。在以太网接口上这将是表示MAC地址的字符串用冒号分隔。 其他接口类型可能有硬件地址的其他类型。不应该依赖于实现这个函数返回一个有效的MAC地址。 QString humanReadableName() const 如果名称可确定在Windows上返回网络接口的人类可读的名称例如“本地连接”如果不能这个函数返回值与name()相同。用户可以在Windows控制面板中修改人类可读的名称因此它可以在程序的执行过程中变化的名称。 在Unix上此函数目前返回值总是和name()相同因为Unix系统不存储人类可读的名称的配置。 bool isValid() const 如果此QNetworkInterface对象包含一个的有效的网络接口则返回true。 QString QNetworkInterface::name() const 返回网络接口的名称。在Unix系统中这是一个包含接口的类型和任选的序列号的字符串例如“eth0”、“lo”或者“pcn0”在Windows中这是一个内部ID用户不能更改。 获取所有IP地址 通过调用便利的静态函数allAddresses()可以返回一个QHostAddress地址列表只能获取IP地址没有子网掩码和广播地址的信息。 QListQHostAddress list QNetworkInterface::allAddresses();
foreach (QHostAddress address, list) {if (!address.isNull())qDebug() Address : address.toString();
} 1234512345输出如下 Address : “fe80::550c:ab19:fb48:1c9%15” Address : “169.254.1.201” Address : “fe80::d086:8566:6065:8954%11” Address : “172.18.4.165” Address : “fe80::f864:a962:7219:f98e%16” Address : “192.168.17.1” Address : “fe80::8169:691f:148e:d3cb%17” Address : “192.168.178.1” Address : “fe80::5996:27a3:83b5:2ae7%18” Address : “192.168.56.1” Address : “::1” Address : “127.0.0.1” QHostAddress类提供一个IP地址更多参考Qt之QHostAddress 获取网络接口列表 通过调用便利的静态函数allInterfaces()可以返回一个QNetworkInterface网络接口列表通过QNetworkAddressEntry可以获取IP地址、子网掩码和广播地址等信息。 QListQNetworkInterface list QNetworkInterface::allInterfaces();
foreach (QNetworkInterface netInterface, list) {if (!netInterface.isValid())continue;qDebug() ********************;QNetworkInterface::InterfaceFlags flags netInterface.flags();if (flags.testFlag(QNetworkInterface::IsRunning) !flags.testFlag(QNetworkInterface::IsLoopBack)) { // 网络接口处于活动状态qDebug() Device : netInterface.name(); // 设备名qDebug() HardwareAddress : netInterface.hardwareAddress(); // 硬件地址qDebug() Human Readable Name : netInterface.humanReadableName(); // 人类可读的名字}// QListQNetworkAddressEntry entryList netInterface.addressEntries();// foreach(QNetworkAddressEntry entry, entryList) { // 遍历每一个IP地址// qDebug() IP Address: entry.ip().toString(); // IP地址// qDebug() Netmask: entry.netmask().toString(); // 子网掩码// qDebug() Broadcast: entry.broadcast().toString(); // 广播地址//}
} 1234567891011121314151617181920212212345678910111213141516171819202122通过flags()函数可以获取到当前网络接口的标识利用testFlag()进行过滤就可以获取我们想要的内容设备名、硬件地址、名字。 注意为了简单我注释掉了IP地址的信息需要的可以自行测试。 QNetworkAddressEntry类存储了一个IP地址子网掩码和广播地址。更多参考Qt之QNetworkAddressEntry 输出如下 Device : “{BE9972CD-860E-4E15-8CE2-3F25EF0A7A24}” HardwareAddress : “94:DE:80:21:92:17” Human Readable Name : “本地连接” Device : “{29F85058-E757-4F60-BF7B-47F6227C8CBC}” HardwareAddress : “00:50:56:C0:00:01” Human Readable Name : “VMware Network Adapter VMnet1” Device : “{A297491C-D43C-4F85-A674-88368F8D4FC1}” HardwareAddress : “00:50:56:C0:00:08” Human Readable Name : “VMware Network Adapter VMnet8” Device : “{1AE5F6FC-478A-4EAB-B4D2-86201A6B2090}” HardwareAddress : “0A:00:27:00:00:12” Human Readable Name : “VirtualBox Host-Only Network” 更多参考 Qt之网络编程Qt之QHostInfoQt之QHostAddressQt之QNetworkAddressEntry转自http://blog.csdn.net/liang19890820/article/details/50775052 简述 QNetworkInterface类负责提供主机的IP地址和网络接口的列表。 QNetworkInterface表示了当前程序正在运行时与主机绑定的一个网络接口。每个网络接口可能包含0个或多个IP地址每个IP地址都可选择性地与一个子网掩码和/或一个广播地址相关联。这样的列表可以通过addressEntries()方法获得。当子网掩码或者广播地址不必要时可以使用allAddresses()便捷函数来仅仅获得IP地址。 QNetworkInterface使用hardwareAddress()方法获取接口的硬件地址。 不是所有的操作系统都支持这些所有的特性。只有IPv4地址可以保证在所有平台上都能被这个类列举出来尤其是IPv6地址的列举目前只支持Windows XP及相关版本、Linux、MacOS和BSDs。 简述常用接口获取所有IP地址获取网络接口列表更多参考 常用接口 枚举 QNetworkInterface::InterfaceFlag 标识 QNetworkInterface::InterfaceFlags 指定网络接口相关的标识可能的值 常量值描述QNetworkInterface::IsUp0x1网络接口处于活动状态QNetworkInterface::IsRunning0x2网络接口已分配资源QNetworkInterface::CanBroadcast0x4网络接口工作在广播模式QNetworkInterface::IsLoopBack0x8网络接口是环回接口也就是说它是一个虚拟接口其目的是主机本身QNetworkInterface::IsPointToPoint0x10网络接口是一个点对点接口也就是说有一个单一的其他地址可以直接由它到达。QNetworkInterface::CanMulticast0x20网络接口支持多播 注意一个网络接口不能既是broadcast-based又是point-to-point。 InterfaceFlags类型是一个QFlags类型定义它存储一个或InterfaceFlag的组合值。 QListQHostAddress allAddresses() [static] 这个便利函数返回主机上面发现的所有IP地址。相当于allInterfaces()返回的所有对象调用addressEntries()来获取QHostAddress对象列表然后对每一个对象调用QHostAddress::ip()方法。 QListQNetworkInterface allInterfaces() [static] 返回的主机上找到的所有的网络接口的列表。在失败情况下它会返回一个空列表。 QListQNetworkAddressEntry addressEntries() const 返回IP地址列表这个接口具备连同与其相关的网络掩码和广播地址。 如果不需要子网掩码或广播地址的信息可以调用allAddresses()函数来只获取IP地址。 InterfaceFlags flags() const 返回与此网络接口关联的标志。 QString hardwareAddress() const 返回此接口的底层硬件地址。在以太网接口上这将是表示MAC地址的字符串用冒号分隔。 其他接口类型可能有硬件地址的其他类型。不应该依赖于实现这个函数返回一个有效的MAC地址。 QString humanReadableName() const 如果名称可确定在Windows上返回网络接口的人类可读的名称例如“本地连接”如果不能这个函数返回值与name()相同。用户可以在Windows控制面板中修改人类可读的名称因此它可以在程序的执行过程中变化的名称。 在Unix上此函数目前返回值总是和name()相同因为Unix系统不存储人类可读的名称的配置。 bool isValid() const 如果此QNetworkInterface对象包含一个的有效的网络接口则返回true。 QString QNetworkInterface::name() const 返回网络接口的名称。在Unix系统中这是一个包含接口的类型和任选的序列号的字符串例如“eth0”、“lo”或者“pcn0”在Windows中这是一个内部ID用户不能更改。 获取所有IP地址 通过调用便利的静态函数allAddresses()可以返回一个QHostAddress地址列表只能获取IP地址没有子网掩码和广播地址的信息。 QListQHostAddress list QNetworkInterface::allAddresses();
foreach (QHostAddress address, list) {if (!address.isNull())qDebug() Address : address.toString();
} 1234512345输出如下 Address : “fe80::550c:ab19:fb48:1c9%15” Address : “169.254.1.201” Address : “fe80::d086:8566:6065:8954%11” Address : “172.18.4.165” Address : “fe80::f864:a962:7219:f98e%16” Address : “192.168.17.1” Address : “fe80::8169:691f:148e:d3cb%17” Address : “192.168.178.1” Address : “fe80::5996:27a3:83b5:2ae7%18” Address : “192.168.56.1” Address : “::1” Address : “127.0.0.1” QHostAddress类提供一个IP地址更多参考Qt之QHostAddress 获取网络接口列表 通过调用便利的静态函数allInterfaces()可以返回一个QNetworkInterface网络接口列表通过QNetworkAddressEntry可以获取IP地址、子网掩码和广播地址等信息。 QListQNetworkInterface list QNetworkInterface::allInterfaces();
foreach (QNetworkInterface netInterface, list) {if (!netInterface.isValid())continue;qDebug() ********************;QNetworkInterface::InterfaceFlags flags netInterface.flags();if (flags.testFlag(QNetworkInterface::IsRunning) !flags.testFlag(QNetworkInterface::IsLoopBack)) { // 网络接口处于活动状态qDebug() Device : netInterface.name(); // 设备名qDebug() HardwareAddress : netInterface.hardwareAddress(); // 硬件地址qDebug() Human Readable Name : netInterface.humanReadableName(); // 人类可读的名字}// QListQNetworkAddressEntry entryList netInterface.addressEntries();// foreach(QNetworkAddressEntry entry, entryList) { // 遍历每一个IP地址// qDebug() IP Address: entry.ip().toString(); // IP地址// qDebug() Netmask: entry.netmask().toString(); // 子网掩码// qDebug() Broadcast: entry.broadcast().toString(); // 广播地址//}
} 1234567891011121314151617181920212212345678910111213141516171819202122通过flags()函数可以获取到当前网络接口的标识利用testFlag()进行过滤就可以获取我们想要的内容设备名、硬件地址、名字。 注意为了简单我注释掉了IP地址的信息需要的可以自行测试。 QNetworkAddressEntry类存储了一个IP地址子网掩码和广播地址。更多参考Qt之QNetworkAddressEntry 输出如下 Device : “{BE9972CD-860E-4E15-8CE2-3F25EF0A7A24}” HardwareAddress : “94:DE:80:21:92:17” Human Readable Name : “本地连接” Device : “{29F85058-E757-4F60-BF7B-47F6227C8CBC}” HardwareAddress : “00:50:56:C0:00:01” Human Readable Name : “VMware Network Adapter VMnet1” Device : “{A297491C-D43C-4F85-A674-88368F8D4FC1}” HardwareAddress : “00:50:56:C0:00:08” Human Readable Name : “VMware Network Adapter VMnet8” Device : “{1AE5F6FC-478A-4EAB-B4D2-86201A6B2090}” HardwareAddress : “0A:00:27:00:00:12” Human Readable Name : “VirtualBox Host-Only Network” 更多参考 Qt之网络编程Qt之QHostInfoQt之QHostAddressQt之QNetworkAddressEntry
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912085.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!