[Qt教程] 第31篇 网络(一)Qt网络编程简介-阿里云开发者社区

开发者社区> 沧海一笑dj> 正文

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

简介:
+关注继续查看
楼主
 发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0
Qt网络编程简介

版权声明


该文章原创于
作者yafeilinux,转载请注明出处!


导语


从这一节开始我们讲述Qt网络应用方面的编程知识。在开始这部分知识的学习之前,大家最好已经拥有了一定的网络知识和Qt的编程基础。在后面的教程中我们不会对一个常用的网络名词进行详细的解释,对于不太了解的地方,大家可以参考相关书籍。
不过,大家也没有必要非得先去学习网络专业知识,而后再学习本部分内容,因为Qt提供了简单明了的接口函数,使得这里并不需要了解太多专业的知识。看完教程后,你也许会发现,自己虽然不懂网络,但却可以编写网络应用程序了。


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


目录


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



正文


一、了解Qt中的网络编程

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

31-1.jpg 

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


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

31-2.jpg


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

31-3.jpg

可以看到这里有一个警告:
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分类中。如下图所示。

31-4.jpg
       
进入Networking分类,如下图所示。

31-5.jpg

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


结语

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
gdy
C#网络编程——IPHostEntry
1 using System; 2 using System.Net; 3 4 namespace study 5 { 6 class IPHostEntrySample 7 { 8 public static void func(...
544 0
分享录制的正则表达式入门、高阶以及使用 .NET 实现网络爬虫视频教程
我发布的「正则表达式入门以及高阶教程」,欢迎学习。 课程简介 正则表达式是软件开发必须掌握的一门语言,掌握后才能很好地理解到它的威力; 课程采用概念和实验操作 4/6 分隔,帮助大家理解概念后再使用大量的实例加深对概念的理解; 实例操作是对概念最好的理解,也是学习新语言最有效的办法; 在课程中也穿插着大量软件开发的技巧和大家分享; 应该是把晦涩的正则表达式讲解的最生动的课程; 掌握了正则表达式后,您一定会觉得这是一门最值得掌握的语言。
887 0
微信无法连接到服务器怎么诊断网络【微信高级教程3】
  有时我们出门在外难免会出现网络信号不好的时候,微信会提示“无法连接到服务器”,可能还会弹出一个“诊断网络”的按钮窗口。要是没弹出怎么弄呢?其实微信早就藏着这个彩蛋了,我们没挖掘到而已。   在微信任意聊天窗口输入 //traceroute 并发送,还可以调出“诊断网络”功能。
1522 0
黑马程序员 十一、网络编程
Java帮帮-IT资源分享网  十一、黑马程序员—网络编程 第 11 天:网络编程(1)  1、什么是网络编程? 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算 机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后 接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是 一个
1292 0
python网络编程
http://hi.baidu.com/showimg/blog/item/40586838c1c59e2b97ddd897.
526 0
Qt网络编程之二
使用QUdpSocket进行UDP编程        UDP(用户数据报协议)是一个轻量级的,不可靠的,面向数据报的,无连接协议。
887 0
155
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载