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 更新

  1. SSL 元件更新
  • SSL 元件可以手工啟動 SSL 握手,從而可以對 SSL/Https 通訊執行代理伺服器設定等前置操作
  • SSL 元件(Server/Agent/Client)增加以下介面方法支援手工啟動 SSL 握手
1) StartSSLHandShake():手工啟動 SSL 握手,當通訊元件設定為非自動握手時,需要呼叫本方法啟動 SSL 握手
2) SetSSLAutoHandShake():設定通訊元件握手方式(預設:TRUE,自動握手)
3) IsSSLAutoHandShake():獲取通訊元件握手方式
  1. 其他更新
  • 所有可能導致 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 更新

  1. 加入執行緒池公共元件
  • 加入 IHPThreadPool 執行緒池公共元件
  • IHPThreadPool 主要方法
1) Start:啟動執行緒池
2) Stop:關閉執行緒池
3) Submit:提交任務
4) AdjustThreadCount:調整執行緒池大小
  1. 介面更新
  • IAgent 介面的 Connect() 方法增加引數 usLocalPort,連線時可繫結本地埠
  • IClient 介面的 Start() 方法增加引數 usLocalPort,連線時可繫結本地埠
  • IClient/IAgent/IServer 介面增加方法 IsConnected(),檢測是否有效連線
  1. 其它更新
  • 修復已知問題
  • 效能優化

v5.3.2 更新

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

  1. Windows版本更新
  • 修復 C# SDK 關於 SSL 初始化失敗 Bug
  • 增加 _ZLIB_DISABLED 預編譯巨集用於關閉 zlib 庫功能
  1. 其它更新
  • http-parser 解析器升級到 2.8.1 版本
  • OpenSSL 版本升級到 1.1.0h
  • jemalloc 版本升級到 5.1.0 版本

v5.2.1 更新

  1. 釋出包調整
  • 版本號修訂:Windows 和 Linux 發行版使用統一版本號
  • 釋出檔案不再區分非 SSL DLL 和 SSL DLL,統一為 HPSocket DLL 和 HPSocket4C DLL
  • 釋出檔案預設包含 SSL 和 HTTP 元件
  • 如果想去除 SSL 或 HTTP 元件,可以分別定義 _SSL_DISABLED 或 _HTTP_DISABLED 巨集重新編
  1. 新增 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
    這裡寫圖片描述
  1. 新增 Linux HTTP 元件
  • Server: HTTP Server, HTTPS Server
  • Agent: HTTP Agent, HTTP Agent
  • Client: HTTP Client, HTTP Client, HTTP Sync Client, HTTPS Sync Client
    這裡寫圖片描述
  1. 新增 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