美文网首页QT
Qt网络编程

Qt网络编程

作者: 托尼章 | 来源:发表于2017-05-08 14:49 被阅读0次

    概述

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

    Qt网络编程类

    要使用Qt网络类需要:
    #include <QtNetwork>
    要链接到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网络编程

        本文链接:https://www.haomeiwen.com/subject/yrsmtxtx.html