QT TCP服务端处理多个客户端发来的消息

您所在的位置:网站首页 多线程发送消息怎么发 QT TCP服务端处理多个客户端发来的消息

QT TCP服务端处理多个客户端发来的消息

2024-07-14 09:52| 来源: 网络整理| 查看: 265

此篇文章基于你已经懂得了简单的TCP一对一通信了 不懂的话可以去本篇博客QT TCP简单的通信示例 在此基础稍加修改即可多方通信. 由于有多个客户端,所以需要用一个QList来把所有的客户端给存起来.

int m_iClientCount; QList listClient;//用来装每个客户端对应的socket的 //获得连接客户端的SOCKET套接字 m_tsTcpSocket = m_tsTcpServer->nextPendingConnection(); listClient.append(m_tsTcpSocket);//将生成的socket添加到容器里 m_iClientCount++;

然后有信号到来时触发读的槽函数后,直接遍历容器读取即可

QByteArray baArray; //利用for循环循环列表中的每一个连接进来的客户端,判断是哪一个客户端发的数据 for(int i=0;ireadAll(); if(baArray.length()!=0)//如果检测到接收到的数据长度不为0,则代表是这个客户端发送的数据 { QString sMsg = baArray; qDebug()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3