获取系统环境变量的函数QProcess::systemEnvironment()是一个静态函数,该函数以键值对列表的形式返回系统环境变量信息。
查询本机所有的网络接口信息。QNetworkInterface类的allInterfaces()静态函数可以列出主机所有网络接口。每一个网络接口可以包含零个或多个IP地址项,以及与之对应的掩码和广播地址。可以调用addressEntries函数获取地址项QNetworkAddressEntry类的列表,接下来可以调用QNetworkAddressEntry类的ip(),netmask()和broadcast函数分别获取对应的IP地址,掩码和广播信息。如果用户只需要查询IP地址,则直接调用QNetworkInterface类的allAddresses()静态函数,它将以QHostAddress类列表的形式返回本机所有IP。从而省去了对每一个址项类QNetworkAddressEntry的操作。
使用代理:
从QT4.1起提供了一个网络层的代理类QNetWorkProxy。该类为其他QT网络类提供配置网络层的方法,目前支持的类包括QAbstractSocket、QTcpSocket、QUdpSocket、QTcpServer、QHttp和QFtp。使用步骤如下:
QNnetworkProxy proxy;
proxy.setType( QNetworkProxy::Socket5Proxy );
proxy.setHostName("proxy,example.com");
proxy.setPort(1080);
proxy.setUser("username");
proxy.setPassword("password");
QNetworkProxy::setApplicationProxy(proxy);
另一种应用范围代理的方法是使用QAbstractSocket::setProxy()和QTcpServer::setProxy()为单独的套接字设置代理。关闭代理的方法如下:
QTcpServer serverScoket;
serverSocket->setProxy(QNetworkProxy::NoProxy);
QT网格功能的扩展:
QT网络模块的抽象基类QAbstractSocket提供了一对获取和设置套接字的操作,socketDescriptor()与setSocketDescriptor()函数。