摘要: 我这里说的“Socket攻击”是指,用一台或N台肉机进行TCP连接,以此来消耗服务器程序的可用Socket。看了很多程序或组件的源代码,一般对客户端Socket管理是这样的:1、用一个TThreadList(只要是线程安全的列表管理都行)来存储连接成功的Socket:后文统称“Socket列表”2、服务器程序预设一个超时时间,比如10秒3、限制每个IP能连接的Socket数量-----这个可以防止用一台机子写个程序疯狂的来连接这种情况4、单独开一个线程,每隔几秒去检查一下这个Socket列表,看是否有超时没有验证通过的Socket,然后将其这些超时的Socket关闭实际部署被攻击出现的问题:1阅读全文
posted @ 2012-09-14 16:41 doorkey 阅读(4648) 评论(6) 编辑
摘要: 各位,很多搞Delphi的都在为自己开发中间层而烦恼,今天我发布商用过的中间层源代码,分享给大家。ApacheSQL源代码说明:1、本代码由本人开发,里面的接口只是提供一些比较通用的功能而已。2、有些第三方控件可以自己找控件替换,本人不提供这些。3、如您发现有什么需要改进的地方请联系QQ:9717005。4、本源代码只在Delphi XE下编译通过,其它版本的Delphi没有测试。5、本源代码用到的RO版本是:6.0.57.9936、本源代码用到的控件如:TROIOCPTCPServer是本人开发的RO IOCP组件,您可自行替换成RO的标准组件,并小小修改代码即可。7、RO IOCP组件不免阅读全文
posted @ 2012-05-20 21:59 doorkey 阅读(3363) 评论(2) 编辑
摘要: 1. 先下载http://files.cnblogs.com/AnyDelphi/6.0.47.841_Client_han.rar这个是客户端修改. 即使不用IOCP控件, 用我修改的这些代码也是不错的.(里面包含了很多修改) 下载完直接覆盖RO SDK安装目录下的SOURCE下的同名文件, 重新编译你的中间层和客户端即可.2. 下载控件包:http://files.cnblogs.com/AnyDelphi/ROIocp_Component.rar下载完直接解压到一个目录下, 把 RemObjects_IOCP_D11.bpl 安装到D2007的IDE里即可使用.3. 安装后在控件里可以找阅读全文
posted @ 2010-12-06 18:54 doorkey 阅读(1597) 评论(1) 编辑
摘要: RO SDK 版本: 6.0.45.821 代码在 uROSynapseSCHelpers.pas 单元优化原理如下: 如果我们认真查看接收函数ReadStream, 发送函数IntSendData时,我们可以发现RO SDK都是 先把要发送或接收的数据存进临时内存 Buf , 这种做法数据被无谓多COPY了一次, 如果我们能跳过这一步,在大数量并发的情况下将获得可观的性能提升. 话不多说, 代码直接贴出来, 这些代码都是经过项目实际测试过的, 大家可以直接COPY修改掉RO SDK控件的源代码, 重新编译你的程序即可!!function TROSynSuperChannelWorker.Re阅读全文
posted @ 2010-12-05 19:41 doorkey 阅读(1764) 评论(1) 编辑
摘要: 一、 中间层各单元介绍二、 中间层重要的类介绍三、 帮大家分析一下RO是怎么工作的四、 多核时代下的多线程编程----帮大家读懂TThread类(重点)1、 中间层各单元介绍单元名作用BestSQL.pasBestConst.pasBestDes.pasBestFunc.pasgunFunSys.pasAdo_ConnectionPool.pas连接池单元,主要用于客户端OpenDataBHSer...阅读全文
posted @ 2010-11-07 13:39 doorkey 阅读(3718) 评论(18) 编辑
摘要: 我这里说的“Socket攻击”是指,用一台或N台肉机进行TCP连接,以此来消耗服务器程序的可用Socket。看了很多程序或组件的源代码,一般对客户端Socket管理是这样的:1、用一个TThreadList(只要是线程安全的列表管理都行)来存储连接成功的Socket:后文统称“Socket列表”2、服务器程序预设一个超时时间,比如10秒3、限制每个IP能连接的Socket数量-----这个可以防止用一台机子写个程序疯狂的来连接这种情况4、单独开一个线程,每隔几秒去检查一下这个Socket列表,看是否有超时没有验证通过的Socket,然后将其这些超时的Socket关闭实际部署被攻击出现的问题:1阅读全文
posted @ 2012-09-14 16:41 doorkey 阅读(4647) 评论(6) 编辑
摘要: 各位,很多搞Delphi的都在为自己开发中间层而烦恼,今天我发布商用过的中间层源代码,分享给大家。ApacheSQL源代码说明:1、本代码由本人开发,里面的接口只是提供一些比较通用的功能而已。2、有些第三方控件可以自己找控件替换,本人不提供这些。3、如您发现有什么需要改进的地方请联系QQ:9717005。4、本源代码只在Delphi XE下编译通过,其它版本的Delphi没有测试。5、本源代码用到的RO版本是:6.0.57.9936、本源代码用到的控件如:TROIOCPTCPServer是本人开发的RO IOCP组件,您可自行替换成RO的标准组件,并小小修改代码即可。7、RO IOCP组件不免阅读全文
posted @ 2012-05-20 21:59 doorkey 阅读(3363) 评论(2) 编辑
摘要: 废话不多说了,直接上例子解说:procedure TForm1.Button1Click(Sender: TObject);var aa: array[0..1]of AnsiChar; bb1: string;begin aa[0] := AnsiChar('1'); aa[1] := AnsiChar('2'); bb1 := StrPas(aa); ShowMessage(bb1); //这里显示不正确end;procedure TForm1.Button1Click(Sender: TObject);var aa: array[0..2]of AnsiC阅读全文
posted @ 2011-10-15 00:32 doorkey 阅读(5973) 评论(2) 编辑
摘要: 1. 先下载http://files.cnblogs.com/AnyDelphi/6.0.47.841_Client_han.rar这个是客户端修改. 即使不用IOCP控件, 用我修改的这些代码也是不错的.(里面包含了很多修改) 下载完直接覆盖RO SDK安装目录下的SOURCE下的同名文件, 重新编译你的中间层和客户端即可.2. 下载控件包:http://files.cnblogs.com/AnyDelphi/ROIocp_Component.rar下载完直接解压到一个目录下, 把 RemObjects_IOCP_D11.bpl 安装到D2007的IDE里即可使用.3. 安装后在控件里可以找阅读全文
posted @ 2010-12-06 18:54 doorkey 阅读(1597) 评论(1) 编辑
摘要: RO SDK 版本: 6.0.45.821 代码在 uROSynapseSCHelpers.pas 单元优化原理如下: 如果我们认真查看接收函数ReadStream, 发送函数IntSendData时,我们可以发现RO SDK都是 先把要发送或接收的数据存进临时内存 Buf , 这种做法数据被无谓多COPY了一次, 如果我们能跳过这一步,在大数量并发的情况下将获得可观的性能提升. 话不多说, 代码直接贴出来, 这些代码都是经过项目实际测试过的, 大家可以直接COPY修改掉RO SDK控件的源代码, 重新编译你的程序即可!!function TROSynSuperChannelWorker.Re阅读全文
posted @ 2010-12-05 19:41 doorkey 阅读(1764) 评论(1) 编辑
摘要: 一、 中间层各单元介绍二、 中间层重要的类介绍三、 帮大家分析一下RO是怎么工作的四、 多核时代下的多线程编程----帮大家读懂TThread类(重点)1、 中间层各单元介绍单元名作用BestSQL.pasBestConst.pasBestDes.pasBestFunc.pasgunFunSys.pasAdo_ConnectionPool.pas连接池单元,主要用于客户端OpenDataBHSer...阅读全文
posted @ 2010-11-07 13:39 doorkey 阅读(3717) 评论(18) 编辑
摘要: 源代码是用C++ Builder写的。下载: http://files.cnblogs.com/AnyDelphi/Midas_Source.rar阅读全文
posted @ 2009-08-13 12:47 doorkey 阅读(2508) 评论(1) 编辑
摘要: DLL的DPR代码如下:library DllPro;{ Important note about DLL memory management: ShareMem must be thefirst unit in your library's USES clause AND your project's (selectProject-View Source) USES clause if your...阅读全文
posted @ 2009-06-15 10:36 doorkey 阅读(1527) 评论(2) 编辑
摘要: 上一版本的Midas.dll Delphi 2007编译的程序如果是用Delphi 2010的Midas.dll是会出错的。这一版就不会了。阅读全文
posted @ 2009-06-15 08:38 doorkey 阅读(2141) 评论(0) 编辑
摘要: 花了很长时间才得到的经验,与大家分享。1.RDTSC-粒度:纳秒级不推荐优势:几乎是能够获得最细粒度的计数器抛弃理由:A)定义模糊-曾经据说是处理器的cyclecounter,但是后来似乎又不是了。有的机器上每秒的TSC增长值等于CPU频率,有的却是一个不对应任何配置的数。到底是什么,Intel也没解释清楚。B)不准确-这是最重大的缺陷。再细的粒度,不准的话也没用,至少不能当时间用。在有的CPU上...阅读全文
posted @ 2009-05-14 12:40 doorkey 阅读(1623) 评论(1) 编辑
摘要: 有人关注这个吗??第一碰到这种情况,大家一起找找问题。对大家都有好处的。阅读全文
posted @ 2009-05-10 11:54 doorkey 阅读(1237) 评论(3) 编辑
摘要: CPU AMD 羿龙IIX3 720(黑盒)主板技嘉GA-MA790XT-UD4P内存金士顿2G DDR3 1333 2根硬盘 希捷 500G 7200.12 16M(串口/散)显卡 蓝宝石HD4830 512M GDDR3海外版 800SP(这东东已经改造成4850版了)光驱 先锋 DVR-117CH 显示器:三星 T190 (妈的,RP太好了,竟然是CAA的面板)机箱酷冷至尊毁灭者RC-K10...阅读全文
posted @ 2009-05-06 11:11 doorkey 阅读(393) 评论(1) 编辑
摘要: RO SDK 已经搞了很久了,对RO SDK的部分架构也理解了,找个时间来写写文章,共享给大家!阅读全文
posted @ 2009-04-27 11:22 doorkey 阅读(1099) 评论(2) 编辑
摘要: 导致以前的程序都挂掉了,无法运行。 Midas.dll 可以从这里下载得到:http://files.cnblogs.com/AnyDelphi/midas.rar 下载后把这个文件放到 C:\WINDOWS\system32 目录下。之前的程序在打开界面时就会出错。阅读全文
posted @ 2009-04-23 16:28 doorkey 阅读(1650) 评论(2) 编辑
摘要: 下载后替换掉安装目录下的BIN目录下的同名文件即可!! http://files.cnblogs.com/AnyDelphi/sanctuarylib.rar阅读全文
posted @ 2009-04-01 08:47 doorkey 阅读(1266) 评论(0) 编辑