2017年3月10日
摘要: 如有转载,请注明出处:http://blog.csdn.net/embedded_sky/article/details/42077321 作者:super_bert@csdn 对于TCP长连接保活是十分必要的,原因如下: 1、系统多在OA网和外网间有防火墙隔离,很多防火墙对一段时间内没有报文活动的 阅读全文
posted @ 2017-03-10 16:00 苦涩的茶 阅读(2676) 评论(0) 推荐(0) 编辑
摘要: 一、与文件目录操作有关操作。 Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句。 QDir::drives()是列出电脑根目录下的所有目录,返回的是QFileInfoList。利用其返回的QFileInfo,可以使用QFileInfo::absoluteFilePat 阅读全文
posted @ 2017-03-10 15:53 苦涩的茶 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 关于这个问题折腾了我好久,以前做些小练习的时候,用QTcpSocket的write()一数据,然后接收方只要emit一个readyread()信号然后就用QTcpSocket的read()去读。本以为只要发送方write一次,接收方就会响应readyRead信号。其实根本就不是这样的,readyRe 阅读全文
posted @ 2017-03-10 14:44 苦涩的茶 阅读(2486) 评论(0) 推荐(0) 编辑
摘要: 1、QTcpSocket 继承于QAbstractSocket继承于QIODevice 2、QTcpSocket 提供的几种接收和发送数据方法 write ( const char *, qint64 ) : qint64 write ( const char * ) : qint64 write  阅读全文
posted @ 2017-03-10 14:10 苦涩的茶 阅读(2793) 评论(0) 推荐(0) 编辑
摘要: 目标,qt程序作为客户端,windows下winsock作为服务器端,实现两端通信。 开始时写了一个小函数测试: [cpp] view plaincopyprint? 测试结果发现客户端只能连接到服务器端,而服务器端收不到客户端的消息。 初步揣测也许是Qt的socket机制使得socket缓冲队列没 阅读全文
posted @ 2017-03-10 14:06 苦涩的茶 阅读(2035) 评论(0) 推荐(0) 编辑
摘要: 由于用QTcpSocket写网络通讯程序,当正常服务端或者客户端断开的时候,我们监测信号即可:Signals:stateChanged(QAbstractSocket::SocketState)。(手动关闭网络连接,也会检测到断开) 但是当若是有一端无故突然被拔掉网线,这个信号就检测不到TcpSoc 阅读全文
posted @ 2017-03-10 14:04 苦涩的茶 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 如果你不确定在使用Qt编程时自己所掌握的C++知识是否够用,这一节的内容会帮到你。这里给出了Qt自身以及在使用Qt进行编程时涉及到的C++知识,因此,通过阅读本节,你会了解你是否缺少一些C++技能。 如果你想对这里提到的C++特性做进一步的了解,我们推荐你看Gregory Satir和Doug Br 阅读全文
posted @ 2017-03-10 14:03 苦涩的茶 阅读(4906) 评论(0) 推荐(0) 编辑
摘要: 一、概述 本文是一篇关于TCP网络服务端的常用设计模式的笔记,方便自己和已有一定的网络及线程基础知识的人查阅。 二、方式介绍 1. 同步阻塞网络模式: 基本为以下函数的顺序执行: intsocket(int domain, int type, int protocol); intbind(int s 阅读全文
posted @ 2017-03-10 13:41 苦涩的茶 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 上一篇的《网络与多线程设计模式》讲的是一些设备上的纯理论的东西,本篇将介绍一个本人写的使用EPoll+TcpServer+多线程的开源库,已在https://bitbucket.org/johnson_he/epolltcpserver中供开源下载。 该库使用了Qt的工程方式进行封装(实在不想写co 阅读全文
posted @ 2017-03-10 13:41 苦涩的茶 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv。 2、发送的包巨大丢包:虽然send方法会帮 阅读全文
posted @ 2017-03-10 13:27 苦涩的茶 阅读(584) 评论(0) 推荐(0) 编辑

// 1.生成目录索引列表