DIOCP-DIOCPv5的处理能力】的更多相关文章

今天和BB讨论了下DiocpV5的单连接处理能力.一直没有做过这方面的测试,稍微试了一下. 把开始的时候客户端Sleep(10),为了测试处理能力,把Sleep(10)去掉了,20秒(实际应该算17秒,点开就开始计时了),可以处理75W的请求而且进行了投递回去.已经足够实际应用了. 和qsl讨论过,一般每秒可以处理200-300个请求,实际的应用可以达到 1W的并发处理. 直接上个图,留个痕迹       diocp|mybean官方网站: 主域名: www.diocp.org (备用域名:di…
来自网友天地弦的DIOCP早已经广为人知了,有很多的同学都用上了它,甚至各种变异.修改版本也出了不少.我最近也在学习DIOCP,打算将它用于自己的服务端,今天让我们来一起探密它(DIOCP)的运作核心吧. DIOCP作为对Windows的IOCP完成端口封装,拥有了很高的性能,经过对ECHO示例的测试,它能轻松应对几万连接和并发.网络通讯一般分为6大阶段:请求连接.接受连接.接收数据.处理数据.回复数据.断开连接,下面我就从这6大阶段入手,来看看DIOCP是如何实现的. 一. 请求连接 实际上这…
FTcpServer.registerCoderClass(TIOCPStreamDecoder, TIOCPStreamEncoder);//注册编码器与解码器 FTcpServer.registerContextClass(TMyClientContext);//注册clientcontext (* * Unit owner: D10.Mofen * homePage: http://www.diocp.org * blog: http://www.cnblogs.com/dksoft *…
DIOCP 运作核心探密   原文连接: http://blog.qdac.cc/?p=2362 原作者: BB 天地弦的DIOCP早已经广为人知了,有很多的同学都用上了它,甚至各种变异.修改版本也出了不少.我最近也在学习DIOCP,打算将它用于自己的服务端,今天让我们来一起探密它(DIOCP)的运作核心吧. DIOCP作为对Windows的IOCP完成端口封装,拥有了很高的性能,经过对ECHO示例的测试,它能轻松应对几万连接和并发.网络通讯一般分为6大阶段:请求连接.接受连接.接收数据.处理数…
DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP 程序员搞任何语言的程序开发上升到一定的层次,要想进步,必须要接触和学习使用优秀的开源框架. MORMOT封装了WINDOWS最新的HTTPS.SYS.JSON.各种数据库引擎... DIOCP封装了WINDOWS的IOCP,数据序列支持JSON.MSGPACK.BIN... QDAC封装了数据库引擎.JSON.MSGPACK.XML.任务调试... 它们的SVN下载地址: MORMOT: https://github.com/s…
DIOCP GITHUB: https://github.com/ymofen/diocp-v5.git diocp5====== ## 快速开始 从那里得到: git更新(推荐同步更新) 1.https://github.com/ymofen/diocp-v5 2.https://gitee.com/ymofen/diocp-v5 最新版zip下载 https://codeload.github.com/ymofen/diocp-v5/zip/master 设置Delphi环境变量 DIOCP…
最近很多新朋友在调试echo这个例程时发现,总是卡死客户端或服务器端,这是因为客户端的接收数据用的memo没有处理接受到的行数,导致超过最大行数,而卡死界面,只需要如下操作就可以解决: 引用弦子的:虽然DIOCP尽可能的保证底层稳定,但是要开发一个稳健的程序,还是要靠大家自己的努力. 用DIOCP还是要有一些多线程基础的.要不然是搞不稳定的,请大家在使用diocp之前,要对基本的线程规则搞清楚.DIOCP事件都是线程中触发的.不要直接访问UI, 读写全局变量要用临界,数据库连接连接池之类的.…
diocp.coder.tcpServer是用来做文件传输的 diocp.tcp.server这个是用来做通讯的…
本次分析开发流程图采用的是DIOCP群里的群友[彩蛋]所给的DEMO,依然是win7的画图作品. 本人分析认为:学习网络开发不同本地开发,首先你应该知道完整的开发流程即网络程序运行的先后顺序,有个整体感知,不能一头深入到代码中,框架明白之后再去研究具体实现,大家可以用思维导图来画画,试着写个DEMO,你会发现很多,大神们多多关照,不要扔鞋子,可以扔点红包,哈哈………
ECHOServer代码(不考虑粘包的处理): unit ufrmMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ActnList, diocp_tcp_server, ExtCtrls, ComCtrls, utils_safeLogger, utils_BufferPool, utils_fileWriter,…