Qt TCP通信 例子
文章目录
效果
流程
通信分为服务器
和客户端
服务器
- 实例化一个服务器对象
pServer = new QTcpServer;
- 关联服务器的
newConnection
信号,当有新的客户端连接时,会发送该信号
connect(pServer, &QTcpServer::newConnection, this, &TCP::slo_newConnection);
- 启动监听
pServer->listen(QHostAddress("127.0.0.1"), 8848);
- 当有客户端建立连接时,在关联
newConnection
信号,对应的槽函数中获取与对应客户端通信的套接字对象
// 获取与客户端通信的套接字对象
QTcpSocket * tcpSocket = pServer->nextPendingConnection();
- 关联套接字的
readyRead
信号,接收客户端信息,关联套接字的disconnected
信号,处理客户端断开连接
// 绑定信号 ,接收客户端消息
connect(tcpSocket, &QTcpSocket::readyRead, this, &TCP::slo_readMsg);
// 客户端断开连接
connect(tcpSocket, &QTcpSocket::disconnected,this,&TCP::slo_clientDisConn);
- 向所有客户端发送消息
// 遍历所有客户端套接字