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环境变量
DIOCP5_HOME=E:\workspace\diocp-v5

搜索路径
$(DIOCP5_HOME)\Source

## FAQ
### Q:同时启动两个Diocp服务, 为什么一个处理逻辑慢, 会影响到另外一个服务也变慢
A: Diocp底层默认共享同一个IocpEngine, 多个Diocp服务都是由同一个Iocp引擎驱动。可以用下面的办法进行优化
1>. 每个DiocpTcpServer可以单独设置IocpEngine.
代码:FTcpServer.BindDiocpEngine(TIocpEngine.Create, true);
2>. 加大默认IocpEngine工作线程, IocpEngine默认的工作线程数量:cpu核数* 2-1
3>. 如果逻辑代码比较复杂,可以吧逻辑处理投递到另外的线程中执行。
4>. Http服务逻辑处理是由diocpTask进行逻辑处理的,diocpTask默认的工作线程数量: cpu * 2 -1,
可以引用diocp_task.pas, 在初始化app时进行设定 iocpTaskManager.setWorkerCount(50);
可以在APP编译条件中指定QDAC_QWorker, 切换使用qworkers线程池

## 目录说明:
samples 下面是各种DEMO
source 目录下面是源代码

可以先从下面的DEMO中了解diocp的工作原理
samples\ECHO
samples\simple
samples\StringDEMO

## 关于文档帮助
DIOCP QQ 群: 638127021
DIOCP官方社区: www.diocp.org

## 关于捐助:

DIOCP5遵循BSD协议,你可以任意的用于商业项目和自由的项目中而不用通知我,
如果你觉得DIOCP5对你有帮助而你刚好又想对DIOCP5进行捐助,请联系作者,或者直接进行捐助:

捐助的支付宝:
账号:ymofen@diocp.org
户名: 杨茂丰

DIOCP的更多相关文章

  1. DIOCP之DEMO-Echo卡死问题分析

    最近很多新朋友在调试echo这个例程时发现,总是卡死客户端或服务器端,这是因为客户端的接收数据用的memo没有处理接受到的行数,导致超过最大行数,而卡死界面,只需要如下操作就可以解决: 引用弦子的:虽 ...

  2. DIOCP单元文件应用场景

    diocp.coder.tcpServer是用来做文件传输的 diocp.tcp.server这个是用来做通讯的

  3. DIOCP之开发流程图之Client

    本次分析开发流程图采用的是DIOCP群里的群友[彩蛋]所给的DEMO,依然是win7的画图作品. 本人分析认为:学习网络开发不同本地开发,首先你应该知道完整的开发流程即网络程序运行的先后顺序,有个整体 ...

  4. DIOCP 运作核心探密

    来自网友天地弦的DIOCP早已经广为人知了,有很多的同学都用上了它,甚至各种变异.修改版本也出了不少.我最近也在学习DIOCP,打算将它用于自己的服务端,今天让我们来一起探密它(DIOCP)的运作核心 ...

  5. DIOCP之注册编码解码器与ClientContext

    FTcpServer.registerCoderClass(TIOCPStreamDecoder, TIOCPStreamEncoder);//注册编码器与解码器 FTcpServer.registe ...

  6. DIOCP之DEMO-登陆验证设计(二)

    ECHOServer代码(不考虑粘包的处理): unit ufrmMain; interface uses Windows, Messages, SysUtils, Variants, Classes ...

  7. DIOCP网络通讯流程

    DIOCP 运作核心探密   原文连接: http://blog.qdac.cc/?p=2362 原作者: BB 天地弦的DIOCP早已经广为人知了,有很多的同学都用上了它,甚至各种变异.修改版本也出 ...

  8. DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP

    DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP 程序员搞任何语言的程序开发上升到一定的层次,要想进步,必须要接触和学习使用优秀的开源框架. MORMOT封装了WINDOWS最新的H ...

  9. [DIOCP视频]-DIOCPFileServer视频

    本次视频简单讲解了DiocpFileServer + 客户端使用接口方式,通信方面可以方便的在DiocpBlockTcpClient和IdTcpClient组件之间切换. + 添加单独的EXE客户端( ...

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

    前几天有个朋友,说他们公司做手游,服务端用的DIOCP3里面做文件服务器,客户端用cocos-x,在调试与diocp通信时老是失败! 于是,我下载了一个Codeblocks经过几个小时的折腾,终于折腾 ...

随机推荐

  1. Shell学习笔记:#*、%*字符串掐头去尾方法

    一.语法 在shell中可以通过#.%对字符串进行掐头去尾操作,使用方法如下: # 表示掐头 % 表示去尾 单个#或%表示最小匹配 双个$或%表示最大匹配  二.例子1 假设我们定义一个变量为: fi ...

  2. C#基础之数据类型

    c#有15个预定义类型,其中13个是值类型,两个是引用类型(string 和 object) 1.整型 2.浮点类型 float数据类型用于较小的浮点数,因为它要求的精度较低. double数据类型比 ...

  3. CF475C. Kamal-ol-molk's Painting

    C. Kamal-ol-molk's Painting time limit per test 2 seconds memory limit per test 256 megabytes input ...

  4. USACO 5.3 Big Barn

    Big BarnA Special Treat Farmer John wants to place a big square barn on his square farm. He hates to ...

  5. Hadoop基准测试

    其实就是从网络上copy的吧,在这里做一下记录 这个是看一下有哪些测试方式: hadoop  jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/ ...

  6. servlet文件下载实例剖析

    package mypack; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; ...

  7. modCount干嘛的

    在ArrayList.LinkedList.HashMap等等的内部增删改中我们总能看到modCount的身影,modCount字面意思就是修改次数,但为什么要记录modCount的修改次数呢? 大家 ...

  8. iOS Sprite Kit教程之申请和下载证书

    iOS Sprite Kit教程之申请和下载证书 模拟器虽然可以实现真机上的一些功能,但是它是有局限的.例如,在模拟器上没有重力感应.相机机等.如果想要进行此方面的游戏的开发,进行程序测试时,模拟器显 ...

  9. pip作用

    介绍 pip 是一个安装和管理 Python 包的工具,python安装包的工具有easy_install, setuptools, pip,distribute.使用这些工具都能下载并安装djang ...

  10. Java Jxl

    Java Jxl (转自http://blog.csdn.net/laliocat/article/details/50580020) 1 开发调研1.1 需求描述MS的电子表格(Excel)是Off ...