简介:
Qt 网络模块提供了用于编写 TCP/IP 客户端和服务器端程序的各种类,如用于 TCP 通信的QTcpSocket 和 QTcpServer,用于 UDP 通信的 QUdpSocket,还有用于实现 HTTP、FTP 等普通网络协议的高级类如 QNetworkRequest,QNetworkReply 和QNetworkAccessManager。Qt 网络模块还提供用于网络代理、网络承载管理的类,提供基于安全套接字层(Secure Sockets Layer,SSL)协议的安全网络通信的类。
要在程序中使用 Qt 网络模块,需要在项目配置文件中增加一条配置语句:
Qt += network
QHostInfo 和 QNetworkInterface 类
查询一个主机的MAC地址或IP 地址是网络应用程序中经常用到的功能,Qt提供了QHostInfo和QNetworkInterface 类可以用于此类信息的查询。
QHostInfo 的静态函数 localHostName()可获取本机的主机名,静态函数 fromName()可以通过主机名获取IP 地址,静态函数 lookupHost()可以通过一个主机名,以异步方式查找这个主机的IP地址。下表是QHostInfo 类主要的功能函数(省略了函数中的const 关键字)。
以下是QHostInfo
类的一些常用函数的解释:
函数 | 描述 |
QHostInfo() |
默认构造函数,创建一个空的QHostInfo 对象。 |
QHostInfo(const QHostInfo &other) |
拷贝构造函数,根据给定的other 对象创建一个新的对象。 |
QHostInfo &operator=(const QHostInfo &other) |
赋值运算符,将other 对象的值赋给当前对象。 |
QHostInfo &swap(QHostInfo &other) |
交换两个QHostInfo 对象的值。 |
bool isNull() const |
判断QHostInfo 对象是否为空,即未进行任何查询。 |
bool isComplete() const |
判断查询是否完成,返回true 表示查询已完成,false 表示正在进行中。 |
QList<QHostAddress> addresses() const |
返回与主机相关联的IP地址列表。 |
QString hostName() const |
返回主机的名称。 |
QStringList aliases() const |