QT之TCP客户端线程通信

摘要

最近因为工作上的需求要利用到tcp,之前接触的比较多的是C语言的tcp通信,转到QT之后多多少少有些不适应,因为QT把TCP通信的功能封装好了。让我们一起看看TCP客户端加上线程是如何实现的。

线程

因为C语言的影响,我会首选线程来实现TCP客户端。因为GUI编程下不知道进程是否操作的好这是其一,

其二是因为线程与进程相比对系统的资源开销比较小,利于优化,减少界面的卡顿提高用户体验这是很重要

的一点。然后就是GUI下线程会循环执行,因此把客户端的连接功能扔给线程去做再合适不过了。这样次客

户端就能主动的连接服务器端,就算连接失败也能继续重连。

我使用的是QT5版本,所以也只讨论QT5,看过网上各位大牛的总结后我才领悟到,QT下的线程是如何创建的。

首先你得在.pro工程文件里

QT       += network

//然后再
#include <QTcpSocket>
#include <QtNetwork>
#include <QThread>

两种方法:


m_Thread = new QThread(); //创建一个线程
m_SMU = new SMUThread(); //你自己写的一个类
m_SMU->moveToThread(m_Thread);  //把m_SMU的类扔到线程里,让它去跑
m_Thread->start();        //线程开始
  • 11
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值