qt学习:tcp区分保存多个客户端

在前面文掌的tcp客服端服务端进行更改

qt学习:Network网络类+tcp客户端+tcp服务端-CSDN博客https://blog.csdn.net/weixin_59669309/article/details/135842933?spm=1001.2014.3001.5501前面的服务端每次有新的客户端连接,就会覆盖掉原来的指针,现在用一个容器来保存

先定义一个容器

复制代码
private:
    QList<QTcpSocket*> m_clientList;

修改连接槽函数

复制代码
//接收新的客户端对象
    QTcpSocket *client = m_tcpServer->nextPendingConnection();
    //尾插法将新的客户端对象加入到链表里
    m_clientList.push_back(client);
    //发送数据
    client->write("xxx");

    //如果有客户端发送数据过来,那么newClient会自动发射 readyRead信号,关联槽函数,接收数据
    connect(client,&QTcpSocket::readyRead,this,&Widget::onRecvDataSlot);

    //把连接上来的客户端IP 和端口号  打印到界面上
    QString text = QString("有新的客户端连接上来 IP:%1 Port:%2")
                        .arg(client->peerAddress().toString()
                        .arg(client->peerPort()));
    ui->textBrowser->append(text);

只要记录每个链表对应的客户端id,就可以获取到对应的指针,进行指定客户端的发送数据

相关推荐
泰和英杰15 分钟前
2026 华为数字能源 + 机房工程实操标准:故障排查、机房建设、设备选型标准化技术方案
运维·服务器·网络
pixcarp27 分钟前
GMP调度模型和GC垃圾回收机制解析
后端·学习·golang·内存管理·gc·gmp
·醉挽清风·33 分钟前
学习笔记—八股—操作系统
笔记·学习
踏月的造梦星球10 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
潘正翔10 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
renhongxia111 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
Dovis(誓平步青云)12 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
专注_每天进步一点点13 小时前
SLB(绑定弹性公网ip)-gateway-业务pod,gateway上出现reset by peer,业务pod上没有reset by peer
服务器·tcp/ip·gateway
GHL28427109013 小时前
unreferenced formal parameter 解决办法学习
学习
CHANG_THE_WORLD13 小时前
TCP 三次握手彻底解析:SYN、ACK、SEQ、确认号与状态迁移
网络·网络协议·tcp/ip