43黑马QT笔记之Qt下Tcp/Udp通信过程

43黑马QT笔记之Qt下Tcp/Udp通信过程

前提:Qt下的网络通信需要加上 QT+=newwork 模块。

1 Qt下Tcp的通信过程:
1)共有三个套接字。客户端有一个QTcpServer监听套接字;服务端有两个,分别是QTcpServer监听套接字和QTcpSocket通信套接字,后者一般需要在连接成功时,通过前者用nextPendingConnection()取出。

2)newConnection信号:客户端连接成功时,服务端(即服务端的监听套接字)触发该信号,用于取出通信套接字。(服务端监听套接字触发)

3)readyRead信号:只要对方写来数据,本方就会触发该信号来读取数据。(通信套接字触发)

4)connected与disconnected信号:前者是当与对方建立好连接,通信套接字触发该信号。后者是对方断开连接,通信套接字触发该信号。(通信套接字触发)

43黑马QT笔记之Qt下Tcp/Udp通信过程

2 Qt下Udp的通信过程:
1)过程很简单,我在实践中发现Udp通信时套接字管不关闭问题都不大,最好关闭避免出错。
2)没有连接,客户端和服务端各自有一个QUdpSocket通信套接字。
43黑马QT笔记之Qt下Tcp/Udp通信过程