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,就可以获取到对应的指针,进行指定客户端的发送数据

相关推荐
槑槑紫2 分钟前
windows系统装轻量版linux开发
linux·运维·服务器
byte轻骑兵12 分钟前
【HID】规范精讲[14]: 蓝牙HID流量规格配置实战——鼠标、键盘与手柄的QoS优化指南
服务器·计算机外设·人机交互·键盘·hid
tedcloud12326 分钟前
ppt-master部署教程:快速搭建智能演示文稿系统
服务器·人工智能·系统架构·游戏引擎·powerpoint
叶~小兮29 分钟前
K8S进阶核心综合学习笔记(持久化存储+特殊容器+调度管理)
笔记·学习·kubernetes
li星野42 分钟前
位运算 & 数学 & 高频进阶九题通关(Python + C++)
c++·python·学习·算法
go不是csgo1 小时前
s01 搭建第一个对话智能体
服务器·网络·python·ai
小王C语言2 小时前
Windows和Linux之间文件互传
linux·运维·服务器
fiveym2 小时前
二层核心网络技术通俗解析(VLAN/Access/Trunk/LACP/ARP)
服务器·网络·网络协议
y = xⁿ2 小时前
Java并发八股学习日记
java·开发语言·学习
magic_now2 小时前
Linux 内核启动流程详解(基于 5.15.119 源码)
linux·运维·服务器