QSocket-为什么TCP连接建立需要三步握手过程?

TCP协议在初始化连接时,分为三步: (1)、发起端发送 SYN 请求到接收端。 (2)、接收端发送 SYN+ACK 数据包到发送端。 (3)、发送端发送 ACK 请求到接收端。 有人对为什么需要这三步存颖,觉得两步就够了,实际上是没有完全理解他们分别做了什么。 (1)、SYN 请求就不用说了,发起端通知接收端我要和你

如何设计一个程序的启动界面(Splash)

程序的启动界面是为了让需要较长时间的程序启动时,避免用户错误的以为程序没有打开或者没有响应,而设计的一个“小甜点”,但许多人设计时,却忽略了根本,反而将启动界面用Sleep等延时方法,强制在主屏上显示一段时间,以增加“存在感”,这显然是违背启动界面设计初衷的。 那么,这个启动界面,我们应该在什么时候创建和显示呢?这就需

使用Form作为一个复杂的提示窗口实现示例

嫌VCL默认的提示窗口太单调乏味?没关系,你可以完全按照自己的需要用窗体实现一个。什么?继承自THintWindow?那个需要完全自己重画,太麻烦好不好。 这里提供另一种思路,简单易用疗效好,看效果: 影影绰绰的半透明效果,编辑框,提示文字~~~~,是不是感觉特别高大上?好了,源码打包奉上,具体自己凑合着瞅吧。当然了,

MsgPackView – MessagePack 格式数据查看工具

MsgPackView 是使用 QMsgPack 实现的一个数据内容查看及检索工具,方便您查找生成的 MessagePack 数据包的内容。同时,它支持 Json 格式的数据的打开和保存,方便在 Json 和 MessagePack 格式之间相互转换数据格式。 1、增加 在结点列表上,使用右键菜单中的右键选择添加。如果

QMsgPack更新-修正了SaveToStream时忘记截断流造成结果数据流大小不正确的问题

【问题描述】 该问题是由于InternalEncode函数在编码时,为了减少数据流的的空间分配次数,一次性预分配16KB,而在数据流分配完成时,却忘记截断数据流为实际长度造成。通过修改SaveToStream函数将其正常截断即可。 【严重程度】 高 【更新级别】 推荐 【特别感谢】 觉悟

歧路亡羊话网络:引子

夜,黑夜,漆黑的午夜。 一只羊不知道受了很么惊吓,从杨庄的大路上向前飞奔,羊蹄踏在坚硬的路面上,那扬起的灰尘在夜色中虽然没人能看的见,但那突兀的蹄音却将杨庄的人惊醒了。 “什么声音?” 杨子就是被半夜的羊蹄声惊醒的众人之一,赶紧穿上了衣服。实际上,被窝很暖和,杨子也不愿意起来,不过作为庄上的村民联防队的队长,他职责所在

QPlugins的一些设计构想讨论

讨论时间:2014-12-29 讨论范围:QDAC官方QQ群 讨论内容: (1)、QPlugins 大概的实现时间约在2015年春末夏初。 (2)、QPlugins 将是一种微内核的插件框架,内核只管理以下事情: 插件的注册/反注册 插件实例的集中调度(查询、创建、释放) 扫描并加载各种加载器(Loader) (3)、

QSocket设计的一些构想讨论

讨论时间:2014年12月29日 讨论范围:QDAC官方QQ群 讨论内容: (1)、QSocket将包含单连接多会话并发的支持。一个客户端与服务器端只有一个连接,但这个连接采用某些技术手段,可以并行的发送多个会话。会话之间通过优先级控制,高优先级的会话会得到更高的发送机率,而低优先级的会话发送机率只是更小。同时,采用帧

2014-感谢有你

转眼之间,2014年就要从我们的之间溜走了,QDAC 项目也走过了两年半的岁月。在这一段逝去的岁月里,QDAC 项目从一个混沌中慢慢长成,许多的朋友与我相知相伴,一起为项目的未来增砖添瓦,在此,特别的表示感谢,没有你们的支持和鼓励,QDAC 也许会像许多开源项目一样很快沉寂。没有你们使用和测试,QDAC 也不过是一个孤

12306 大规模数据泄露事件中招查询工具-附源码

这个工具的目的是在不传播那些用户数据的前提下,给大家提供一个查询自己是否中招的工具。这个工具不需要联网,不需要安装,直接查询本地的12306.hashs这个MD5摘要数据,由于您输入的身份证号信息只与本地的12306.hashs文件中的指纹数据进行对比,而12306.hashs没有任何个人敏感信息,所以您可以放心使用它

QWorker演示-统计代码行数的工具 CodeLines 源码

直接看疗效,支持Delphi/C++/Java,当然通过设置实际上可以支持任何编程语言。程序主要演示了以下QWorker功能: 在主线程中使用For并行作业的用法(设置AMsgWait属性为True),来计算每个文件的代码行数; 二进制文件请自行下载源码编译,或者直接编译 QDAC 的 Demos\Delphi\VCL

QJson更新-修正了在StrictJson为False时,解析包含//和/**/注释的内容时仍出错的问题

【问题描述】 此问题是由于 QJson 对注释位置的出现考虑不全面造成的,象解析下面的Json代码时会出错。 { “A”:”B”// 这是注释 } 新版 QJson 修正了这一问题并使用下面的测试用例进行了测试: //This is demo {//Json Start “A”/*Name*/:/*Value Star

QDB.TQDBProvider接口设计

下图是QDB中与负责与数据库连接的数据提供者对象的接口定义,UML 文件为 StartUML 的格式,如有需要,请在 QQ群 联系。   【简介】 TQDBProvider用于建立数据集和数据库之间的桥梁及辅助功能。TQDBProvider提供的接口类别主要有: 1、属性 ProviderName &#821