QT菜鸟入门第五弹:第一节:网络编程初步

本文介绍了QT的网络编程模块,包括高层次的QHttp和QFtp类,用于简单文件获取和请求。同时,深入讲解了TCP和UDP套接字的使用,QTcpServer和QTcpSocket在服务器和客户端的应用,以及QUdpSocket的运作方式。QT的网络编程提供了信号触发机制,简化了数据传输的判断和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

QT Network Summary来自于Fondations of Qt Development

 

当我们使用Qt的网络模块的时候,你可以选择你想要控制的层面。如果你只是想要通过网络获取文件,或者产生请求,你可以通过FTP或者HTTP来完成,使用Qt中的QHttp和QFtp类。这些类会处理很多的细节并提供给你高层次的操作接口。比如QHttp提供setHost和get。QFtp提供了connectToHost,login,get,和put操作。

当使用这些类的时候,你可以监听done信号,然后响应布尔类型的参数。如果它是true,那么会发生一个错误;否则,一切都运行良好。如果发生一个错误的话,你会从errorString中得到一个文本提示。

如果你需要控制网络中的底层,Qt提供了基于TCP和UDP的套接字的类。这两者的不同已经查过了本书所探讨的范围,可以简单的描述为:

TCP对于在两个电脑之间建立数据传输连接来讲是一个种可以信赖的方法。数据以流的方式传输。

UDP以包的形式发送数据。发送者不管接收者是否收到了数据,接收者也不知道它是否收到了所有的数据。独立的数据交换包称为数据报。

当实现一个TCP服务器的时候,你可以从QTcpServer类继承而来。简单的重新实现incomingConnection来处理新的连接。整数参数是套接字描述符。传递给QTcpSocket的构造函数来过去一个新连接的套接字。

通过listen方法设置监听的端口。指定QHostAddress::Any作为主机地址,服务器将接收所有的连接。

QTcpSocket即由服务器来使用也由客户端来使用。在客户端,用connectToHost来制定连接到的服务器和端口号。因为QTcpSocket继承自QIODevice类,你可以设置一个QDataStream或者QTextStream来发送接收数据。

当实现一个UDP服务器的时候,由创建一个QUdpSocket开始。你可以用writeDatagram往里写入数据。挡视线一个客户端的时候,使用同样的类,QUdpSocket,但是要用bind把它绑定到端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值