Qt网络编程

概述

Qt网络模块为我们提供了编写TCP / IP客户端和服务器的类。 它提供了较低级别的类,例如代表低级网络概念的QTcpSocket,QTcpServer和QUdpSocket,以及诸如QNetworkRequest,QNetworkReply和QNetworkAccessManager之类的高级类来执行使用通用协议的网络操作。 它还提供了诸如QNetworkConfiguration,QNetworkConfigurationManager和QNetworkSession等类,实现承载管理。

Qt网络编程类

要使用Qt网络类需要:
#include
要链接到Qt网络模块需要:
QT += network

名称空间

名称 描述
QSsl 定义Qt网络模块中SSL类公用的枚举

网络类

名称 描述
QAbstractNetworkCache The interface for cache implementations
QNetworkCacheMetaData Cache information
QHttpMultiPart Resembles a MIME multipart message to be sent over HTTP
QHttpPart Holds a body part to be used inside a HTTP multipart MIME message
QNetworkAccessManager Allows the application to send network requests and receive replies
QNetworkCookie 保存一个网络cookie
QNetworkCookieJar Implements a simple jar of QNetworkCookie objects
QNetworkDiskCache Very basic disk cache
QNetworkReply Contains the data and headers for a request sent with QNetworkAccessManager
QNetworkRequest Holds a request to be sent with QNetworkAccessManager
QNetworkConfigurationManager Manages the network configurations provided by the system
QNetworkConfiguration Abstraction of one or more access point configurations
QNetworkSession Control over the system's access points and enables session management for cases when multiple clients access the same access point
QAuthenticator Authentication object
QDnsDomainNameRecord Stores information about a domain name record
QDnsHostAddressRecord Stores information about a host address record
QDnsLookup Represents a DNS lookup
QDnsMailExchangeRecord Stores information about a DNS MX record
QDnsServiceRecord Stores information about a DNS SRV record
QDnsTextRecord Stores information about a DNS TXT record
QHostAddress IP address
QHostInfo Static functions for host name lookups
QNetworkDatagram The data and matadata of a UDP datagram
QNetworkAddressEntry Stores one IP address supported by a network interface, along with its associated netmask and broadcast address
QNetworkInterface Listing of the host's IP addresses and network interfaces
QNetworkProxy Network layer proxy
QNetworkProxyFactory Fine-grained proxy selection
QNetworkProxyQuery Used to query the proxy settings for a socket
QAbstractSocket The base functionality common to all socket types
QLocalServer Local socket based server
QLocalSocket Local socket
QSctpServer SCTP-based server
QSctpSocket SCTP socket
QTcpServer TCP-based server
QTcpSocket TCP 套接字
QUdpSocket UDP 套接字
QSslCertificate Convenient API for an X509 certificate
QSslCertificateExtension API for accessing the extensions of an X509 certificate
QSslCipher Represents an SSL cryptographic cipher
QSslConfiguration Holds the configuration and state of an SSL connection
QSslDiffieHellmanParameters Interface for Diffie-Hellman parameters for servers
QSslEllipticCurve Represents an elliptic curve for use by elliptic-curve cipher algorithms
QSslError SSL error
QSslKey Interface for private and public keys
QSslPreSharedKeyAuthenticator Authentication data for pre shared keys (PSK) ciphersuites
QSslSocket SSL encrypted socket for both clients and servers

HTTP和FTP协议的高级网络操作

网络访问API是用于执行常见网络操作的类的集合.API在所使用的特定操作和协议(例如,通过HTTP获取和发布数据)上提供了一个抽象层,并且仅暴露了一般或高级概念的类,函数和信号。

  • QNetworkRequest: 类用来代表一个网络请求,也用做与请求相关的信息的通用容器,例如请求的头信息和加密信息等.构造QNetwrokRequest时使用的URL决定了请求所使用的协议,目前Http,Ftp和本地文件URL支持上传和下载.

  • QNetworkAccessManager:协调各种网络操作,当我们构造一个QNetwrokRequest后就要使用QNetworkAccessManager来把它分发出去并使用信号槽来报告进度.QNetworkAccessManager还负责协调使用Cookie来存储客户端上的数据,身份验证请求和代理的使用.每个应用程序或库可以创建一个或多个QNetworkAccessManager实例来处理网络通信.

  • QNetworkReply:表示网络请求的回复.当发出一个网络请求后由QNetworkAccessManager创建QNetworkReply.由于QNetworkReply是QIODevice的子类,因此可以同步或异步处理回复; 即作为阻塞或非阻塞操作。QNetworkReply提供的信号可用于单独监控每个回复,也可以使用QNetworkAccessManager的信号来达到此目的.

QTcpScoket和QTcpServer

QUdpSocket

使用QHostInfo解析主机名称

网络代理

承载管理

你可能感兴趣的:(Qt网络编程)