Qt借助网络模块,提供了针对网络编程的全面支持,其中包含用于编写TCP/IP客户端和服务器程序的各种类,如针对TCP协议的QTcpSocket类和QTcpServer类、针对UDP协议的QUdpSocket类、针对HTTP、FTP等应用层协议的QNetworkRequest类、QNetworkReply类和QNetworkAccessManager类,等等。Qt的网络模块还提供可用于网络代理、网络承载管理和安全套接字层(Secure Sockets Layer,SSL)开发的各种类。为了在应用程序中使用该模块,只需在项目文件(.pro)中增加“QT += network”即可。
QHostInfo类主要用于获取运行在网络上的一台主机的信息,包括如下常用方法:
xxxxxxxxxx
111static QHostInfo QHostInfo::fromName(QString& name); // 根据主机名查询主机信息
2static int QHostInfo::lookupHost(QString& name, // 根据主机名异步查询主机信息,查询结果发送给receiver对象的member槽
3 QObject* receiver, char* member); // 返回查询ID,可用于通过abortHostLookup方法取消查询
4static void QHostInfo::abortHostLookup(int id); // 取消主机信息查询
5static QString QHostInfo::localHostName(); // 查询本机主机名
6static QString QHostInfo::localDomainName(); // 查询本机域名
7QString QHostInfo::hostName(); // 获取主机名
8QList<QHostAddress> QHostInfo::addresses(); // 获取IP地址列表
9HostInfoError QHostInfo::error(); // 获取错误信息
10QString QHostInfo::errorString(); // 获取错误描述
11int QHostInfo::lookupId(); // 获取查询ID