Qt子线程内waitForReadyRead的问题

想学坏的小孩 想学坏的小孩 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

在子线程内waitForReadyRead(-1) 等待数据 想主动关闭这个线程应该用什么办法?

QTcpsocket对象是在子线程内创建的 只能在这个线程内去close 或者abort 但实际上它会一直卡在waitForReadyRead这里线程内根本没法去掉用这个对象 线程外调用又会报错跨线程操作socket 

试过在主线程发信号给子线程(在主线发送信号连接子线程的信号 子线程的信号连接lambda函数) 结果也是等到子线程函数执行完了才会去执行这个lambda函数 但是又回到waitForReadyRead这里卡着是不会到函数尾部的

试过关闭tcpserver对象 也不行

还有啥办法可以在别的线程去主动关闭这个socket 或者让代码在子线程中运行

...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
想学坏的小孩
Qt 21,503 成员 26,693 内容