第31篇 网络(一)Qt网络编程简介

导语

从这一节开始我们讲述Qt网络应用方面的编程知识。在开始这部分知识的学习之前,大家最好已经拥有了一定的网络知识和Qt的编程基础。在后面的教程中我们不会对一个常用的网络名词进行详细的解释,对于不太了解的地方,大家可以参考相关书籍。

不过,大家也没有必要非得先去学习网络专业知识,而后再学习本部分内容,因为Qt提供了简单明了的接口函数,使得这里并不需要了解太多专业的知识。看完教程后,你也许会发现,自己虽然不懂网络,但却可以编写网络应用程序了。

环境:Windows Xp + Qt 4.8.5+Qt Creator 2.8.0

目录

  • 一、了解Qt中的网络编程
  • 二、查看网络部分的例子

正文

一、了解Qt中的网络编程

1.首先我们打开Qt Creator,进入帮助模式,然后在索引中查找:Network Programming关键字。这里详细介绍了Qt中网络编程的相关内容。如下图所示。

Qt提供了QtNetwork模块来进行网络编程。该模块提供了诸如QFtp等类来实现特定的应用层协议;有较低层次的类,例如QTcpSocketQTcpServerQUdpSocket等来表示低层的网络概念;还有高层次的类,例如QNetworkRequestQNetworkReplyQNetworkAccessManager使用相同的协议来执行网络操作;也提供了QNetworkConfigurationQNetworkConfigurationManagerQNetworkSession等类来实现负载管理。

2.在文档的后面提供了Qt中用于网络编程的类的列表。如下图所示。

3.如果大家以前就使用过Qt进行网络部分编程,或者看过其他教材上相关内容,你可能会问,这里怎么没有了QHttp类。我们现在搜索QHttp关键字,其内容如下。

可以看到这里有一个警告:

This class is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

大概意思是:这个类是过时的。它的提供只是为了保证旧的源代码。我们强烈建议在新代码中不要使用它。

所以在我们的教程中不会再讲解这个类,对于HTTP部分的编程,我们使用QNetworkAccessManager类和QNetworkReply类 。

二、查看网络部分的例子

对于网络编程部分的例子,可以通过Qt自带的演示程序查看。就是开始菜单中Qt安装目录下Example and demos程序,网络编程例子在Networking分类中。如下图所示。

进入Networking分类,如下图所示。

最后要说明的是:如果要使用QtNetwork模块中的类,需要在项目文件中添加QT+= network一行代码。

结语

后面的教程中我们将对Qt网络编程部分的知识点分别进行讲解,对Qt中网络编程内容有了初步了解以后,我们就开始下一步的学习吧。

results matching ""

    No results matching ""