要想成為一個通訊程式的開發高手,能夠開發出穩定的、高效的、伸縮性好、可擴充性強的、單機承載數千甚至上萬使用者同時線上的網路應用系
統,一般至少需要3年以上磨練與經驗積累。積累過程中所經曆的種種折磨,過來人一定都深有體會 --
經常地加班加點、熬夜調試、就連做夢的時候都在想著那些不經常出現的bug究竟是什麼原因導致的、要如何解決。
支援巨大並發的通訊程式的開發是非常複雜的,其涉及到很多方面的專業知識,像TCP、UDP協議、Socket開發、多線程編程、線程池、並發架構、分布式架構、完成連接埠(IOCP)模型、非同步編程模型、設計模式等等。
而
現在,所有這些經驗的結晶都濃縮在ESFramework架構中。ESFramework,是一套可高度複用的、靈活的、單純而又強大的.NET通訊框
架,全部採用C#編寫。ESFramework內建了對Tcp和Udp的支援,並且支援文本協議和流協議,提供了多種網路引擎供服務端和用戶端開發人員輕
松使用。採用ESFramework架構,使得您不需要瞭解Socket、不用再關心底層與通訊相關的一切瑣碎的事情,就可以在一個更高的層次上更快地開
發屬於您的高效穩定的網路通訊應用。像IM系統、視頻會議系統、資料擷取系統等,凡是需要分布式通訊的系統都可以使用ESFramework架構。
04年開始進行網路通訊程式開發,到06年第一次發布ESFramework的相關介紹以來,ESFramework已經走過了4個年
頭,ESFramework也從0.1版本成長到4.0。ESFramework 4.0
已經不再是一個簡單的通訊架構,而是形成了一個解決巨大量(百萬級)使用者同時線上的高效能的通訊體系和完整的解決方案。
ESFramework的層級結構如下所示:
你的通訊應用程式可以基於圖中的任何一層來構建,但是選擇的層次越高,架構幫你做的事情也就越多,你的開發也就越高效和快速。我們來粗略地看看每一層。
一.ESFramework
ESFramework 作為通訊架構的核心,定義了訊息處理的骨架流程,提供了多種通訊引擎實現,相對單純而穩定。在4年前,這個核心基本已經形成,我們再回顧一下訊息處理的骨架流程:
1. 通訊引擎介面繼承關係圖
2.內建通訊引擎列表
ESFramework內建了多種通訊引擎,以完全支援“用戶端/服務端、TCP/UDP、文本協議/二進位協議”這些特性的組合。
3.線上使用者管理
服務端通過ESFramework.Server.UserManagement.IUserManager來管理所有的線上使用者。
另外,ESPlus.Rapid命名空間為快速開發基於ESFramework應用的提供了數個組件,使得你可以僅用1-2個小時就可以上手ESFramework通訊程式開發。可以通過這篇文章來瞭解如何使用ESPlus.Rapid快速開發基於ESFramework的通訊程式。
在ESFramework解決方案中,我們非常方便的將一個獨立的通訊應用程式遷移到ESPlatform體系中,以應對日益增長的使用者數量。這隻要修改設定檔就可以做到。
更多關於ESFramework4.0的文章:
ESFramework 4.0 快速上手
ESFramework 4.0 快速上手 -- 如何使用自訂訊息?
ESFramework 4.0 快速上手 -- 離線訊息如何??
ESFramework 4.0 快速上手 -- 異常日誌
ESFramework 4.0 效能測試
ESFramework 4.0 進階(01) -- 訊息
ESFramework 4.0 檔案斷點續傳原理與實現
最後,給出demo源碼和相關文檔的下載:
1.ESFramework4.0 Rapid Demo (最後上傳:2011.03.02)
本demo是一個簡單的IM聊天程式,並且展示了掉線通知、斷線重連等功能。
2.ESFramework4.0(免費版本)以及 協助文檔 (V4.0.1.0 最後上傳:2011.03.02)
壓縮包中包括:
(1)ESFramework.dll、ESPlus.dll、ESFramework.SL.dll(在SilverLight中使用ESFramwork)
(2)ESFramework4.0.chm、ESPlus1.0.chm、ESFramework.SL.chm
任何問題,請聯絡sky.zhuwei@163.com。