QTcpSocket::connectToHost内存泄漏的问题

博客作者发现QTcpSocket的connectToHost方法可能导致内存泄漏,频繁调用此方法使进程内存逐渐增长。通过测试,发现在大量连接后,客户端的CPU和内存占用显著增加。尽管没有找到完美解决方法,但问题在连接数量达到一定程度时才会显现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用QTcpSocket上网看博客时,发现有篇抄来抄去的博客提到QTcpSocket类的方法connectToHost会泄露内存,即使把调用这个方法的QTcpSocket实例delete掉,内存也不会释放。反复connectToHost会导致进程内存增长,必须控制connectToHost的使用次数!

于是我来亲自验证一下,仍然拿之前写的Socket_Test进行测试。增加一个按钮,槽函数代码如下:

    QTimer *timer = new QTimer(this);
    timer->start(50);
    connect(timer,SIGNAL(timeout()),this,SLOT(Test()) );

槽函数Test的代码:

    tcpSocket->abort();
    tcpSocket->connectToHost(QHostAd
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值