简述:
TCP (Transmission Control Protocol ),传输控制协议,是一种可靠、面向连接、面向数据流的传输协议,许多高层应用协议(包括HTTP、FTP等)都是以它为基础,TCP协议非常适合数据的连续传输。
TCP 协议与 UDP 协议的差别见下表:
注意:在.pro文件中要添加 QT += network,否则无法使用Qt的网络功能。
Qt 中通过 QTcpSocket 类 和 QTcpServer 类实现TCP 协议的编程。
QTcpServer的基本操作:
A. 调用listen监听端口
B. 连接信号newConnection,在槽函数里调用nextPendingConnection获取连接进来的socket。
QTcpSocket的基本操作:
A. 调用connectToHost连接服务器
B. 调用waitForConnected判断是否连接成功
C. 连接信号readyRead槽函数,异步读取数据
D. 调用waitForReadyRead,阻塞读取数据
TCP 协议工作原理和编程模型
1 > TCP 工作原理
TCP协议能够为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地送达网络上的其他计算机。
因此,对可靠性要求高的数据通信系统往往使用TCP协议传输数据,但在正式收发数据前,通信双方必须先建立连接。
2 > TCP 编程模型
基于TCP协议的经典编程模型,程序编写的通用流程如下: