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

相关推荐
sensen_kiss8 分钟前
CPT208 Human-Centric Computing 人机交互 Pt.2 Prototype(原型)
学习·人机交互·原型模式
我是小木鱼14 分钟前
浅析Centos7安装Oracle12数据库
linux·运维·服务器·数据库
xinxinhenmeihao1 小时前
如何给路由器配置代理IP?更改网络ip地址时出现错误怎么解决?
网络·tcp/ip·智能路由器·ip地址
李匠20241 小时前
C++学习之密码学知识
学习·密码学
心之所想,行之将至1 小时前
零基础开始学习鸿蒙开发-智能家居APP离线版介绍
学习·智能家居·harmonyos
汤米粥1 小时前
FastAdmin和thinkPHP学习文档
学习·thinkphp·fastadmin
Pluto & Ethereal1 小时前
新手宝塔部署thinkphp一步到位
运维·服务器·阿里云·php·腾讯云
viperrrrrrrrrr71 小时前
大数据学习(104)-clickhouse与hdfs
学习·clickhouse
lyk_dtf1 小时前
本地laravel项目【dcat-admin】部署到liunx服务器
服务器·php·laravel
wusam1 小时前
Linux系统管理与编程12: FTP服务配置
linux·运维·服务器