高效能跨平臺通訊框架 HP-Socket v5.4.2
阿新 • • 發佈:2018-11-01
- 專案主頁 : http://www.oschina.net/p/hp-socket
- 開發文件 : http://www.docin.com/p-2137713732.html
- 下載地址 : https://github.com/ldcsaa/HP-Socket
- QQ Group: 75375912, 44636872
HP-Socket提供以下幾類元件,詳細內容請參考《HP-Socket網路通訊框架開發指南》:
- Server:基於IOCP / EPOLL通訊模型,並結合快取池、私有堆等技術實現高效記憶體管理,支援超大規模、高併發通訊場景。
- Agent:Agent元件實質上是Multi-Client元件,與Server元件採用相同的技術架構。一個Agent元件物件可同時建立和高效處理大規模Socket連線。
- Client:基於Event Select / POLL通訊模型,每個元件物件建立一個通訊執行緒並管理一個Socket連線,適用於小規模客戶端場景。
v5.4.2 更新
一、SSL 元件更新
- SSL 元件可以手工啟動 SSL 握手,從而可以對 SSL/Https 通訊執行代理伺服器設定等前置操作
- SSL 元件(Server/Agent/Client)增加以下介面方法支援手工啟動 SSL 握手
1) StartSSLHandShake():手工啟動 SSL 握手,當通訊元件設定為非自動握手時,需要呼叫本方法啟動 SSL 握手 2) SetSSLAutoHandShake():設定通訊元件握手方式(預設:TRUE,自動握手) 3) IsSSLAutoHandShake():獲取通訊元件握手方式
二、其他更新
- 所有可能導致 Socket 關閉的元件介面方法都在 Socket 通訊執行緒中非同步觸發 OnClose 事件
- Server 與 Agent 元件的 DIRECT 傳送策略也支援通過 GetPendingDataLength() 方法實現流控
- Server 與 Agent 元件的 Disconnect() 方法不再支援‘非強制斷開’(仍然保留bForce 引數),呼叫時都會強制斷開
- OnSend 事件支援 三種同步策略
1) OSSP_NONE:不同步(預設) 2) OSSP_CLOSE:同步 OnClose 3) OSSP_RECEIVE:同步 OnClose 和 OnReceive(只用於 TCP 元件)
- OpenSSL 版本升級到 1.1.0i 版本
v5.4.1 更新
一、加入執行緒池公共元件
- 加入 IHPThreadPool 執行緒池公共元件
- IHPThreadPool 主要方法
1) Start:啟動執行緒池 2) Stop:關閉執行緒池 3) Submit:提交任務 4) AdjustThreadCount:調整執行緒池大小
二、介面更新
- IAgent 介面的 Connect() 方法增加引數 usLocalPort,連線時可繫結本地埠
- IClient 介面的 Start() 方法增加引數 usLocalPort,連線時可繫結本地埠
- IClient/IAgent/IServer 介面增加方法 IsConnected(),檢測是否有效連線
三、其它更新
- 修復已知問題
- 效能優化
v5.3.2 更新
一、Linux版本更新
- Android NDK 支援:所有元件原始碼均可使用Android NDK編譯,在Android平臺上執行
- Bug修復:5.3.1版本中用dlopen()動態載入共享庫失敗
- 增加 _ICONV_DISABLED 預編譯巨集用於關閉 iconv 庫功能
- 增加 _ZLIB_DISABLED 預編譯巨集用於關閉 zlib 庫功能
- 如果想去除 SSL 或 HTTP 元件,可以分別定義 _SSL_DISABLED 或 _HTTP_DISABLED 巨集重新編
二、Windows版本更新
- 修復 C# SDK 關於 SSL 初始化失敗 Bug
- 增加 _ZLIB_DISABLED 預編譯巨集用於關閉 zlib 庫功能
三、其它更新
- http-parser 解析器升級到 2.8.1 版本
- OpenSSL 版本升級到 1.1.0h
- jemalloc 版本升級到 5.1.0 版本
v5.2.1 更新
一、釋出包調整
- 版本號修訂:Windows 和 Linux 發行版使用統一版本號
- 釋出檔案不再區分非 SSL DLL 和 SSL DLL,統一為 HPSocket DLL 和 HPSocket4C DLL
- 釋出檔案預設包含 SSL 和 HTTP 元件
- 如果想去除 SSL 或 HTTP 元件,可以分別定義 _SSL_DISABLED 或 _HTTP_DISABLED 巨集重新編
二、新增 Linux SSL 元件
- Server: SSL Server, SSL Pull Server, SSL Pack Server
- Agent: SSL Agent, SSL Pull Agent, SSL Pack Agent
- Client: SSL Client, SSL Pull Client, SSL Pack Client
三、新增 Linux HTTP 元件
- Server: HTTP Server, HTTPS Server
- Agent: HTTP Agent, HTTP Agent
- Client: HTTP Client, HTTP Client, HTTP Sync Client, HTTPS Sync Client
四、新增 Linux Demo
- testecho-ssl: (SRC) SSL simple test echo server/agent/client
- testecho-ssl-pfm: (SO) SSL performance test echo server/agent/client
- testecho-ssl-pull: (SO) SSL pull echo server/agent/client
- testecho-ssl-pack: (4C SO) SSL pack echo server/agent/client
- testecho-http: (SRC) HTTP simple test echo server/agent/client/sync-client
- testecho-http-4c: (4C SO) HTTP simple test echo server/agent/client/sync-client