HP-Socket 是一套通用的高性能 TCP/UDP Socket 組件,包含服務端組件、客戶端組件和 Agent 組件,廣泛適用於各種不同應用場景的 TCP/UDP 通信系統,提供 C/C++、C#、Delphi、E(易語言)、Java、Python 等編程語言接口。HP-Socket 對通信層實現完全封裝,上層應用不必關注通信層的任何細節;HP-Socket 提供基於事件通知模型的 API 接口,能非常簡單高效地整合到新舊應用程序中。為了讓使用者能方便快速地學習和使用 HP-Socket,迅速掌握組件的設計思想和使用方法,特此精心制作了大量 Demo 示例,包括 PUSH 模型示例、PULL模型示例和性能測試示例等。HP-Socket 目前運行在 Windows 平台,將來會實現跨平台支持。
----------------------------------------------------------------
通用性
可用性
可用性對所有通用組件都是至關重要的,如果太難用還不如自己重頭寫一個來得方便。因此,組件的操作接口和監聽器接口設計得盡量簡單易用(通俗來說就是“傻瓜化”),這兩個接口的主要方法均不超過 5 個。另外,組件完全封裝了所有的底層 Socket 通信,上層應用看不到任何通信細節,不必也不能干預任何通信操作,Socket 連接被抽象為 Connection ID,該參數作為連接標識提供給上層應用識別不同的連接。
高性能
作為底層的通用組件,性能問題是必須考慮的,絕對不能成為系統的瓶頸。而另一方面,從實際出發,根據客戶端組件與服務端組件的性能要求采用不同的 Socket 模型。組件在設計上充分考慮了性能、現實使用情景、可用性和實現復雜性等因素,確保滿足性能要求的同時又不會寫得太復雜。做出以下兩點設計決策:
伸縮性
可以根據實際的使用環境要求設置組件的各項性能參數(如:工作線程的數量、各種緩存池的大小、收發緩沖區的大小、Socket 監聽隊列的大小、Accep 派發的數目以及心跳檢查的間隔等)。
(項目主頁:點擊這裡,下載地址:點擊這裡)
> 增加 TcpAgent / TcpPullAgent 通信組件:
-----------------> 增加 HPSocket for Java SDK:
-----------------> 優化數據收發策略:
-----------------> 其它更新:
-----------------> 升級說明:
-----------------> 增加其它語言 Demo:
-----------------> Bug Fix:
-----------------> 修改 Server 組件的 OnClose() / OnError() 事件的觸發規則:
-----------------> 增加導出純 C 函數的動態鏈接庫 HPSocket4C.dll:
-----------------> 全面啟用 Buffer Pool 緩存機制:
-----------------> 把 HP-Socket 編譯為動態鏈接庫:
-----------------
> 新增 UDP 通信組件:
-----------------
> 代碼重構與優化:
-----------------