Qt知识笔记(十一)—— 基于TCP的网络通信
Qt提供了专门用于套接字通信的类(TCP,UDP),使用 Qt 提供的类进行基于 TCP 的套接字通信需要用到两个类:QTcpServer和QTcpSocket,具体API查阅Qt助手
QTcpServer
QTcpServer用于监听客户端连接以及和客户端建立连接
QTcpSocket
QTcpSocket是一个套接字通信类,不管是客户端还是服务器端都需要使用。在 Qt 中发送和接收数据也属于 IO 操作(网络 IO)
通信
使用 Qt 提供的类进行套接字通信比使用标准 C API 进行网络通信要简单,因为Qt已经进行了封装
服务端
1.创建套接字服务器 QTcpServer 对象
2.通过 QTcpServer 对象设置监听,即:QTcpServer::listen()
3.基于 QTcpServer::newConnection() 信号检测是否有新的客户端连接
4.如果有新的客户端连接调用
QTcpSocket* QTcpServer::nextPendingConnection() 得到通信的套接字对象
5.使用通信的套接字对象 QTcpSocket 和客户端进行通信
客户端
1.创建通信的套接字类 QTcpSocket 对象
2.使用服务器端绑定的 IP 和端口连接服务QAbstractSocket::connectToHost()
3.使用 QTcpSocket 对象和服务器进行通信