![](https://img-blog.csdnimg.cn/20210401114019813.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Network
文章平均质量分 93
以实战为线索,逐步深入开发各个环节.
Ilson_
花儿为什么这样红!!!
展开
-
Qt之QTcpSocket 跨线程连续发送大数据
简述 最近在写有关网络传输的项目,使用了Qt封装的QTcpSocket,但是发现很多的跨线程导致死机的问题,也许是我了解的不够深入吧。最开始是自己继承一个线程然后把套接字传递到线程使用遇到程序崩溃;否决后使用了QObject::moveToThread()的方式,虽然程序可以正常发送接收数据但是对于QTcpSocket(moveToThread后属于子线程)与主线程的交互并不是很友好,还是存在一些问题;最后是考虑到了QTcpSocket跨线程崩溃说明它本身内置了一些发送或者接收的线程,这样...原创 2021-01-22 22:22:09 · 4325 阅读 · 6 评论 -
Qt之QTcpSocket 开启Tcp自带的套接字保活机制
简述 对于正在连接的Tcp网络通信程序中,因为由于某些情况下会出现连接中断的,需要心跳检测机制来探测对方是否在线或者维持网络连接需要。而通常的实现方式是自己写代码使用心跳包的形式,这样子就显得代码复杂化,难以控制和管理。在Tcp中其实也有类似的机制,就是TCP保活机制。SO_KEEPALIVE 使用SO_KEEPALIVE设置Tcp属性后,在程序中表现为:当TCP检测到对端socket不再可用时(不能发出探测包,或探测包没有收到ACK的响应包),select会返回so...原创 2020-11-30 16:06:46 · 4003 阅读 · 0 评论 -
Qt之Linux-C 判断网络是否连接
#include <errno.h>#include <net/if.h>#include <sys/ioctl.h>struct caddr_d { __uint32_t cmd; __uint32_t data;}; int main(int , char* []){ ...原创 2019-03-20 14:52:48 · 1215 阅读 · 0 评论