Qt网络编程

概述

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解析主机名称

网络代理

承载管理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • 在QT的网路模块中提供了网络编程的相关接口来实现http的访问,其中包含了一些低级的类:QTcpSocket、QT...
    业余玩家阅读 447评论 0 1
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,169评论 11 349
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,382评论 25 707
  • 昨天1月15号,是马頔的生日,一同学发状态称在她心里永远十八岁,每个人都有自己喜欢的人,玩命喜欢的人,你在我心里,...
    Beijing阅读 194评论 0 1