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信号:前者是当与对方建立好连接,通信套接字触发该信号。后者是对方断开连接,通信套接字触发该信号。(通信套接字触发)
2 Qt下Udp的通信过程:
1)过程很简单,我在实践中发现Udp通信时套接字管不关闭问题都不大,最好关闭避免出错。
2)没有连接,客户端和服务端各自有一个QUdpSocket通信套接字。