天天看點

Delphi下IOCP開源架構:DIOCP 成功應用案例分享

首先說明,該項目不是本人的項目,本文轉自盒子。

該項目使用的DIOCP版本為1.0,目前diocp為3.5

以下是盒子的原文

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

DIOCP是Delphi下進行IOCP服務端通訊開發的一個非常好的開源架構,穩定、高效并且使用起來十分簡單。

    自己兩個多月之前因為需要使用Delphi開發一個TCP服務端,當時也是到處爬文,希望找到一個穩定且好用的IOCP開源架構,整整一周的時間,看了很多,也對比了很多,最後選擇了DIOCP,現在伺服器端正式版本已經上線運作了36天的時間了,所有運作一切穩定,無論是CPU占用、記憶體使用還是通信穩定性,DIOCP的表現真的沒有讓我失望,表現得非常優秀,閑話不說,直接上圖:

Delphi下IOCP開源架構: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

繼續閱讀