QT主要通过以下四个类实现对网络状态和网络连接的管理,四个类分别是:
QNetworkConfigurationManager
QNetworkConfiguration
QNetworkSession
QNetworkInterface
下面分别介绍一下四个类的职责和作用:
QNetworkConfigurationManager 负责管理操作系统中的所有网络配置,通过它我们能获取操作系统中的网络配置信息,比如我们是否可以启停某个特定的网络连接。通过QNetworkConfigurationManager 获取的网络信息被存储在QNetworkConfiguration类中
QNetworkConfiguration包含了一个网络访问入口的所有信息。这里要区分一下网络入口和网络连接,网络入口不等价于网络连接,一个网络连接能提供多个网络入口。QNetworkConfiguration是只读的,我们只能通过它来读取网络配置不能通过它来修改网络配置。通过它我们可以确定当前的网络类型是以太网、WLAN还是手机网络。
通过QNetworkSession我们可以启停操作系统上的某个网络连接进而控制某个网络入口。通过它我们就可以控制某个应用的网络访问。
QNetworkInterface提供了网络连接的一些基本信息,比如网卡的MAC地址网络连接的名称等等。
下面介绍一下上面四个类的常见用法: