首先说明,该项目不是本人的项目,本文转自盒子。

该项目使用的DIOCP版本为1.0,目前diocp为3.5

以下是盒子的原文

------------------------------------------------------------------------------

DIOCP是Delphi下进行IOCP服务端通讯开发的一个非常好的开源框架,稳定、高效并且使用起来十分简单。
    自己两个多月之前因为需要使用Delphi开发一个TCP服务端,当时也是到处爬文,希望找到一个稳定且好用的IOCP开源框架,整整一周的时间,看了很多,也对比了很多,最后选择了DIOCP,现在服务器端正式版本已经上线运行了36天的时间了,所有运行一切稳定,无论是CPU占用、内存使用还是通信稳定性,DIOCP的表现真的没有让我失望,表现得非常优秀,闲话不说,直接上图:

服务器环境:
  OS:Windows Server 2003
  CPU:Intel 双核      内存:2G
  网络带宽:5M
  网络类型:BGP
实际性能数据:
    程序用户同时在线数:1200 – 1300之间   峰值:1511(此峰值为真实用户同时在线数,不是理论性能峰值,目前的用户数只有这些,自己测试的时候,连接数测试过5K,也同样运行稳定)。
    服务器端运行到发文时已经36天多了,内存峰值也只有76M,CPU占用一直都稳定在10%以下,应该说各项指标都非常的好,非常满意。
    说实话,现在真正在使用Delphi进行开发的团队不算多了,但是Delphi中总是有很多的东西让我无法完全割舍它,比如它的快速开发、再比如网络上无比多的第三方控件、再再比如它强大的数据操纵能力等等等等。现在这些理由中又多了一项,就是DIOCP。特意写这篇文章就是为了把这个好东西推荐给大家。源码地址:
    源码:https://git.oschina.net/ymofen/DIOCP
    DEMO:https://git.oschina.net/ymofen/diocp-samples  DEMO当中大家就会看到,只需要在uClientContext单元的dataReceived方法中加入自己的整个业务逻辑层就可以了,DEMO中还配有客户端的例子,很完整。
    另外,现在DIOCP正在发展DIOCP3,封装程度更好,用起来更加的方便,回头,我也要抓紧去研究一下。
    DIOCP3的源码地址是:https://github.com/ymofen/diocp3

Delphi下IOCP开源框架:DIOCP 成功应用案例分享的更多相关文章

  1. Android eclipse下数据开源框架GreenDao的配置

    1.前言 ORM(Object-RelationMapping,对象关系映射),是一种为了解决面向对象与数据库存在的互一匹配的现象的技术,通过描述对象和关系数据库之间的映射,将程序中的对象自动持久化到 ...

  2. 【DIOCP开源项目】实际应用案例

    案例1 DIOCP是Delphi下进行IOCP服务端通讯开发的一个非常好的开源框架,稳定.高效并且使用起来十分简单. 自己两个多月之前因为需要使用Delphi开发一个TCP服务端,当时也是到处爬文,希 ...

  3. 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)

    AsyncTask使用方法详情:http://www.cnblogs.com/zzw1994/p/4959949.html 下拉开源框架PullToRefresh使用方法和下载详情:http://ww ...

  4. Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读

    转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/39057201),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...

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

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

  6. 第三方开源框架的下拉刷新列表(QQ比较常用的)。

    PullToRefreshListView是第三方开源框架下拉刷新列表,比较流行的QQ 微信等上面都在用. 下载地址(此开源框架于2013年后不再更新) 点此下载 package com.lixu.k ...

  7. 终于可以发布Delphi下收点OSGI精髓皮毛而设计的插件框架WisdomPluginFramework

    这是一个Delphi实现的插件框架,我耗费了相当相当相当多的精力来设计她,虽然仅闪着点我微薄智慧的光芒,但我还是决定用Wisdom来命名她,也因它是我绝无仅有的,在完成1年多后回头来看仍能相当满意的作 ...

  8. .NET平台下开源框架

    一.AOP框架Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(asp ...

  9. Ninject是一款.Net平台下的开源依赖注入框架

    Ninject是一款.Net平台下的开源依赖注入框架.按照官方说法,它快如闪电.超级轻量,且充分利用了.Net的最新语法,使用Lambda表达式代替Xml文件完成类型绑定.Ninject结构精巧,功能 ...

随机推荐

  1. 【C#入门经典视频教程】-第001课-C#入门-认识C#

    C#入门-认识C# C ---> C++ --> C# (C++++) j++ j++ 有一门可能比这个C#更流行的语言 java 使用的教程:c#入门经典第五版 操作系统:windows ...

  2. Comparable 与 Comparator

    Comparable & Comparator 都是用来实现集合中元素的比较.排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序 ...

  3. iOS 用自签名证书实现 HTTPS 请求的原理

    在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求.默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info ...

  4. 对simhash算法的一些思考

    http://2588084.blog.51cto.com/2578084/558873

  5. Vue.js hello world

    <!DOCTYPE HTML> <html> <head> <title>vue.js hello world</title> <sc ...

  6. mysql密码过期问题

    密码自动过期是mysql 5.7.4引入的新功能.由参数default_password_lifetime控制.从5.7.4到5.7.10,默认是360天.设置为0,即不开启密码过期设置. 取消某个用 ...

  7. linux arm的高端内存映射

    linux arm的高端内存映射(1) vmalloc 高端内存映射   与高端映射对立的是低端映射或所谓直接映射,内核中有关变量定义它们的它们的分界点,全局变量high_memory,该变量定义在m ...

  8. linux 命令中的find locate whereis which type 使用区别

    find 最强大,但参数也较多,需指定查找目录,如 find / -name “filename” locate 是一个快速查找命令,有预先索引好的数据库,由于数据库是定时更新,因此,结果上可能会有迟 ...

  9. CentOS7.2安装pure-ftpd 及其配置项

    CentOS7.2安装FTP(pure-ftpd-1.0.43) 原文链接: https://www.linuxidc.com/Linux/2016-10/135971.htm [日期:2016-10 ...

  10. MIUI 们的发展蓝图:“罪恶”秘密背后的金钱和机遇

    (原文来自 AllThingsD)   听起来有点唬人,但是移动变革的确是这个时代最大的一次技术平台升级事件.这场趋势实在太浩大,不断地循环往复,对于创业者(还有像我这样的投资人来说),则意味着令人激 ...