高效能跨平臺網路通訊框架 HP-Socket v5.4.2 釋出
-
專案主頁 : ofollow,noindex">http://www.oschina.net/p/hp-socket
-
下載地址 : Socket" target="_blank" textvalue="https://gitee.com/ldcsaa/HP-Socket" rel="nofollow,noindex">https://gitee.com/ldcsaa/HP-Socket
HP-Socket提供以下幾類元件,詳細內容請參考《 HP-Socket網路通訊框架開發指南 》:
-
Server:基於IOC/">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