[DIOCP视频]-DIOCPFileServer视频

本次视频简单讲解了DiocpFileServer + 客户端使用接口方式,通信方面可以方便的在DiocpBlockTcpClient和IdTcpClient组件之间切换。 + 添加单独的EXE客户端(MyBean插件依然可以直接使用)   下载地址(Diocp共享视频下载) http://pan.baidu.

【被C折腾系列】用C调DIOCP编码客户端通信

前几天有个朋友,说他们公司做手游,服务端用的DIOCP3里面做文件服务器,客户端用cocos-x,在调试与diocp通信时老是失败!   于是,我下载了一个Codeblocks经过几个小时的折腾,终于折腾出来了,把其中的一些心酸记录下,以便以后查阅。   1.windows下面使用socket的一些

【DMQ引擎】-DMQ多进程插件引擎服务平台介绍

写过服务端项目的程序员可能都有非常痛苦的经历,服务端经常奔溃,无从查起。的确一个服务端要稳定下来要经过长期的积累,不停的测试,调试,发现问题,解决问题。这个周期可能很长,几个月,甚至以年计算。许多企业,公司可能经不起这样的折腾。 经过几个版本的改造和沉淀,现在推出一个基于DIOCP3的商业化服务端方案。先上一种设计蓝图

【杂谈指针】- 指针的移动

刚刚在群里看到一个这样的问题 MonoPixel: PByte; Inc(Integer(MonoPixel));这个在32位下没问题,为啥64位不能编译呢?   咋一看,以为是把里面的值进行累加,后来一想应该是移动一下指针。 对于这种移动指针的做法有两个错误: 第一个是用了Integer,来转换指针如果在3

[DIOCP3-说明书] 关于DEMO的编译

总有些朋友问我,关于DEMO编译的一些问题,每次都回答大概都差不多,我想还是写篇说明书给大家,关于DEMO编译的步骤。   【环境设定】 1.将DIOCP3\source路径添加到Delphi的搜索路径,[tool->options->Environment Options->Delphi

关于结构体的大小

第一步是要知道结构体大小的计算方式: 结构体大小等于最后一个成员的偏移量加上最后一个成员的大小, 偏移量指的是结构体变量中成员的地址 – 结构体变量地址的差, 第一个成员的偏移量为0   下面代码 TRecord2 = record a: Integer; b: Integer; c: Integer; en

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

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

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

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

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

这几天晚上群里一朋友有偿叫我把他的程序弄稳定,因为是现场管理项目,需要做到无人职守,所以即使是客户端,也不能经常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