1. 程式人生 > >高效能跨平臺通訊框架 HP-Socket v5.4.2

高效能跨平臺通訊框架 HP-Socket v5.4.2

HP-Socket

    HP-Socket提供以下幾類元件,詳細內容請參考《HP-Socket網路通訊框架開發指南》:

  • Server:基於IOCP / EPOLL通訊模型,並結合快取池、私有堆等技術實現高效記憶體管理,支援超大規模、高併發通訊場景。
  • Agent:Agent元件實質上是Multi-Client元件,與Server元件採用相同的技術架構。一個Agent元件物件可同時建立和高效處理大規模Socket連線。
  • Client:基於Event Select / POLL通訊模型,每個元件物件建立一個通訊執行緒並管理一個Socket連線,適用於小規模客戶端場景。

v5.4.2 更新

一、SSL 元件更新

  1. SSL 元件可以手工啟動 SSL 握手,從而可以對 SSL/Https 通訊執行代理伺服器設定等前置操作
  2. SSL 元件(Server/Agent/Client)增加以下介面方法支援手工啟動 SSL 握手
    1) StartSSLHandShake():手工啟動 SSL 握手,當通訊元件設定為非自動握手時,需要呼叫本方法啟動 SSL 握手
    2) SetSSLAutoHandShake():設定通訊元件握手方式(預設:TRUE,自動握手)
    3) IsSSLAutoHandShake():獲取通訊元件握手方式

二、其他更新

  1. 所有可能導致 Socket 關閉的元件介面方法都在 Socket 通訊執行緒中非同步觸發 OnClose 事件
  2. Server 與 Agent 元件的 DIRECT 傳送策略也支援通過 GetPendingDataLength() 方法實現流控
  3. Server 與 Agent 元件的 Disconnect() 方法不再支援‘非強制斷開’(仍然保留bForce 引數),呼叫時都會強制斷開
  4. OnSend 事件支援 三種同步策略
    1) OSSP_NONE:不同步(預設)
    2) OSSP_CLOSE:同步 OnClose
    3) OSSP_RECEIVE:同步 OnClose 和 OnReceive(只用於 TCP 元件)
  5. OpenSSL 版本升級到 1.1.0i 版本

v5.4.1 更新

一、加入執行緒池公共元件

  1. 加入 IHPThreadPool 執行緒池公共元件
  2. IHPThreadPool 主要方法
    1) Start:啟動執行緒池
    2) Stop:關閉執行緒池
    3) Submit:提交任務
    4) AdjustThreadCount:調整執行緒池大小

二、介面更新

  1. IAgent 介面的 Connect() 方法增加引數 usLocalPort,連線時可繫結本地埠
  2. IClient 介面的 Start() 方法增加引數 usLocalPort,連線時可繫結本地埠
  3. IClient/IAgent/IServer 介面增加方法 IsConnected(),檢測是否有效連線

三、其它更新

  1. 修復已知問題
  2. 效能優化

v5.3.2 更新

一、Linux版本更新

  1. Android NDK 支援:所有元件原始碼均可使用Android NDK編譯,在Android平臺上執行
  2. Bug修復:5.3.1版本中用dlopen()動態載入共享庫失敗
  3. 增加 _ICONV_DISABLED 預編譯巨集用於關閉 iconv 庫功能
  4. 增加 _ZLIB_DISABLED 預編譯巨集用於關閉 zlib 庫功能
  5. 如果想去除 SSL 或 HTTP 元件,可以分別定義 _SSL_DISABLED 或 _HTTP_DISABLED 巨集重新編

hp-socket for android

hp-socket for android

二、Windows版本更新

  1. 修復 C# SDK 關於 SSL 初始化失敗 Bug
  2. 增加 _ZLIB_DISABLED 預編譯巨集用於關閉 zlib 庫功能

三、其它更新

  1. http-parser 解析器升級到 2.8.1 版本
  2. OpenSSL 版本升級到 1.1.0h
  3. jemalloc 版本升級到 5.1.0 版本

v5.2.1 更新

一、釋出包調整

  1. 版本號修訂:Windows 和 Linux 發行版使用統一版本號
  2. 釋出檔案不再區分非 SSL DLL 和 SSL DLL,統一為 HPSocket DLL 和 HPSocket4C DLL
  3. 釋出檔案預設包含 SSL 和 HTTP 元件
  4. 如果想去除 SSL 或 HTTP 元件,可以分別定義 _SSL_DISABLED 或 _HTTP_DISABLED 巨集重新編

新增 Linux SSL 元件

  1. Server: SSL Server, SSL Pull Server, SSL Pack Server
  2. Agent: SSL Agent, SSL Pull Agent, SSL Pack Agent
  3. Client: SSL Client, SSL Pull Client, SSL Pack Client

hp ssl

新增 Linux HTTP 元件

  1. Server: HTTP Server, HTTPS Server
  2. Agent: HTTP Agent, HTTP Agent
  3. Client: HTTP Client, HTTP Client, HTTP Sync Client, HTTPS Sync Client

hp http

新增 Linux Demo

  1. testecho-ssl: (SRC) SSL simple test echo server/agent/client
  2. testecho-ssl-pfm: (SO) SSL performance test echo server/agent/client
  3. testecho-ssl-pull: (SO) SSL pull echo server/agent/client
  4. testecho-ssl-pack: (4C SO) SSL pack echo server/agent/client
  5. testecho-http: (SRC) HTTP simple test echo server/agent/client/sync-client
  6. testecho-http-4c: (4C SO) HTTP simple test echo server/agent/client/sync-client