[DIOCP3-IocpTask说明书]任务的投递和回调处理单元

【说明】 IocpTask是基于Iocp引擎的多线程任务投递和处理单元,可以方便的把任务进行投递到IOCP线程进行统一调度和处理,是模仿QDAC-QWorker的处理方式,支持D7以上的版本。 【使用方法】 使用上很简单,下面解释一种比较全面的方法: procedure PostATask(pvTaskWork:TOn

[DIOCP3/MyBean/QDAC开源项目] DataModule-DB例子基于MyBean的插件实例<三层数据库方案>

【说明】 这个例子答应大家很久了,一直没有时间弄,现在正式结合MyBean插件可以很方便的在客户端共享操作连接,执行数据库的各项工作,屏蔽了底层的通信解码器编码等工作,直接传递Variant,给了开发者足够的领活和自由。   【服务端使用技术】 diocp3:担当底层的通信任务。 qworker/iocpTa

MyBean专题轻量级绿色配置框架

MyBean,轻量级绿色配置框架。 框架绿色而且全部开源(支持D7 以上版本) 只要实现了IInterface都可以称为插件,可以注册到框架插件,整合简单。 方便的单实例模式。可以由框架接管插件的生命周期。 单个EXE可以通过注册插件工厂,使用插件功能。 可以通过配置选择预加载配置文件,不直接加载DLL插件文件 开源项

[MyBean-说明书]关于插件的单件模式(singleton),插件的共享模式

【说明】 单件模式是一种用于确保整个应用程序中只有一个类实例。 想想我们的系统中有哪些方面可以应用到单件模式,比如大家常说的连接(ADOConnection)共享,其实就是指的单件模式。       【MyBean中的单件模式】 MyBean中插件一旦成为单件模式,框架就会帮你接管对象的生

[MyBean说明书]-如果进行最简单的DEMO

MyBean是轻量级的、绿色的框架,不需要安装任何的组件和携带任何的其他文件,前 期步骤已经相当精简了,仔细阅读完下面简单的五个步骤,就可以编写基于MyBean的插件: 1.加入Delphi的搜索路径 source\frame-common,source\frame-core 2.主控台<EXE>进行初始化

多线程程序的填坑笔记和多线程编程应该遵循的规则

这几天晚上群里一朋友有偿叫我把他的程序弄稳定,因为是现场管理项目,需要做到无人职守,所以即使是客户端,也不能经常down机,因为之前对他的程序有过一个晚上的实地查看,基本流程已经有个大概的了解,我就接下来了。 刚开始的时候, 程序运行不到一个上午,内存暴涨,有时几个小时就挂了,这个那天晚上发现了,找了半天发现一处加载图

DIOCP3-数据库DEMO

socket-Coder\DataModuleDEMO\   本DEMO演示数据库的简单使用,其他功能需要自己扩展。   将工程的输出路径设置到socket-Coder\DataModuleDEMO\BIN下面 服务端使用的Access数据库 可以改连接使用其他数据库 DataModuleDEMO\

DIOCP3-DIOCP1升级到DIOCP3

DIOCP3兼容DIOCP1的,有些属性做了修改 DIOCP3, uIOCPConsole没有了, uMemPool没有了 1.DIOCP1,代码:   DIOCP3中去掉TIOCPContextFactory, 可以直接往TIocpConsole(uIocpCentre单元中)对象上注册。TiocpCons

DIOCP3-关于TIOCPConsole

TIOCPConsole是继承至TIocpTcpServer,做了管理和调用编码和解码器器的功能。可以通过向他注册编码和解码器可以忽略粘包的问题。   这样如果TIOCPConsole客户端必须按照一定的编码器和解码器的协议发送数据和接受数据, diocpCoders中已经有了几种编码和解码器, 比较常用的T

DIOCP3-粘包处理

什么是粘包:    第一次发送  12345, 第二次发送abcde, 底层socket可能会一次性进行发送12345abcde,或者对方可能一次性进行了接收,那接收的时候,你可能想分两次接收才对,第一次接受到12345, 第二次想接收abcde,但是事与愿违,一次就接收完了,这就是粘包的

DIOCP3 – 关于接收数据

DIOCP3支持两种方式接收数据,   第一种是原始的流数据, 最通用的一种方式,客户端发啥,这边就收到啥。需要自己处理粘包问题。 可以在TCilentContext或者TIocpTcpServer的OnRecvBuffer中处理, 如果Errcode = 0可以进行收到数据的处理 下面这两个都会触发 TIo

DIOCP开源项目-高效稳定的服务端解决方案(DIOCP + 无锁队列 + ZeroMQ + QWorkers) 出炉了

[概述] 自从上次发布了[DIOCP开源项目-利用队列+0MQ+多进程逻辑处理,搭建稳定,高效,分布式的服务端]文章后,得到了很多朋友的支持和肯定。这加大了我的开发动力,经过几个晚上的熬夜,终于在昨天晚上,DEMO基本成型,今天再加入了QWorkers来做逻辑处理进程,进一步使得逻辑处理进程更加方便和高效。今天特意写篇