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

相关推荐
蜡笔小炘7 分钟前
LVS -- 持久链接(Persistent Connection)实现会话粘滞
运维·服务器
蜡笔小炘17 分钟前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
生活很暖很治愈26 分钟前
Linux——孤儿进程&进程调度&大O(1)调度
linux·服务器·ubuntu
JoySSLLian39 分钟前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
HalvmånEver43 分钟前
Linux:线程同步
linux·运维·服务器·线程·同步
喵叔哟43 分钟前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
奶茶精Gaaa44 分钟前
工具分享--json在线转换工具
学习
Zach_yuan1 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
岁杪杪1 小时前
关于运维:LINUX 零基础
运维·服务器·php
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习