40. QT TCP通信--Apple的学习笔记

一,前言,

因为我想做的工具是上下位机通信的整体系统。当然我不准备用eth,但是eth用来做通信仿真还是比较便捷的。

二,需求

qt tcp通信+多线程,因为tcp通信会影响GUI界面显示,作用最好放入线程。

三,设计

  1. QT多线程用哪种?
    答:网上搜索了下,原来我之前用的QT多线程说是古老的方法,QT4.8之后建议用moveToThread了。这个用起来确实感觉便捷写,只要自己的类移入即可,否则一定要放在自己的thread的run中,不方便。

四,效果

如下是没有加入多线程,仅TCP。多线程是另外一个在后台客户端直接每隔3秒尝试连接主机的思路,当然粘包及心跳保活功能我还没加入。仅做简单tcp验证。


image.png

五,小结

之前做过些TCP通信,都是linux的API,本次是第一次使用QT的network API。但是关于接收粘包和心跳处理的设计思路是linux下tcp应用开发是一样的。我暂时没必要再做一遍了,当需要用的时候再实现也来得及,哈哈追剧去咯

你可能感兴趣的:(40. QT TCP通信--Apple的学习笔记)