HP-Socket v4.1.2,高性能 TCP & HTTP 通信框架

2020-12-13 開源中國

HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服務端組件、客戶端組件和 Agent 組件,廣泛適用於各種不同應用場景的 TCP/UDP/HTTP 通信系統,提供 C/C++、C#、Delphi、E(易語言)、Java、Python 等程式語言接口。HP-Socket 對通信層實現完全封裝,應用程式不必關注通信層的任何細節;HP-Socket 提供基於事件通知模型的 API 接口,能非常簡單高效地整合到新舊應用程式中。

為了讓使用者能方便快速地學習和使用 HP-Socket,迅速掌握框架的設計思想和使用方法,特此精心製作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能測試示例以及其它程式語言示例)。HP-Socket 目前運行在 Windows 平臺,將來會實現跨平臺支持。

《HP-Socket v4.1 開發指南》

通用性

易用性

  • 易用性對所有通用框架都是至關重要的,如果太難用還不如自己重頭寫一個來得方便。因此,HP-Socket 的接口設計得非常簡單和統一。

  • HP-Socket 完全封裝了所有底層通信細節,應用程式不必也不能干預底層通信操作。通信連接被抽象為 Connection ID,Connection ID 作為連接的唯一標識提供給應用程式來處理不同的連接。

  • HP-Socket 提供 PUSH / PULL / PACK 等接收模型, 應用程式可以靈活選擇以手工方式、 半自動方式或全自動方式處理封解包, PULL / PACK 接收模型在降低封解包處理複雜度的同時能大大減少出錯機率。

高性能

  • Client 組件:基於 Event Select 通信模型,在單獨線程中執行通信操作,避免與主線程或其他線程相互幹擾。每個組件對象管理一個 Socket 連接。

  • Server 組件:基於 IOCP 通信模型,並結合緩存池、私有堆(Private Heap)等技術,支持超大規模連接,在高並發場景下實現高效內存管理。

  • Agent 組件:對於代理伺服器或中轉伺服器等應用場景,伺服器自身也作為客戶端向其它伺服器發起大規模連接,一個 Agent 組件對象同時可管理多個 Socket 連接;Agent 組件與 Server 組件採用相同的技術架構,可以用作代理伺服器或中轉伺服器的客戶端部件。

伸縮性

應用程式能夠根據不同的容量要求、通信規模和資源狀況等現實場景調整 HP-Socket 的各項性能參數(如:工作線程的數量、緩存池的大小、發送模式和接收模式等),優化資源配置,在滿足應用需求的同時不必過度浪費資源。

(項目主頁:點擊這裡,下載地址:點擊這裡)

v4.1.2更新 

 > WebSocket 支持:

  1. 所有 HTTP 組件增加 WebSocket 方法
    1) SendWSMessage(): 發送 WebSocket 數據包
    2) GetWSMessageState(): 獲取當前 WebSocket 狀態

  2. 所有 HTTP 組件監聽器增加 WebSocket 事件
    1) OnWSMessageHeader(): WebSocket 數據包頭通知
    2) OnWSMessageBody(): WebSocket 數據包體通知
    3) OnWSMessageComplete(): WebSocket 數據包完成通知

  3. 示例 Demo TestEcho-Http 和 TestEcho-Http-4C 支持 WebSocket

 > 增加 HTTP Sync Client 通信組件:

  1. HTTP Sync Client 實現同步 HTTP 通信,不需要事件監聽器

  2. HTTP Sync Client 組件類: CHttpSyncClient、CHttpsSyncClient

  3. HTTP Sync Client 實現接口: ITcpClient / IHttpSyncRequester

  4. 示例 Demo TestEcho-Http 和 TestEcho-Http-4C 提供 HTTP Sync Client 示例

 > 其它更新:

  1. 採用新環形緩衝區算法提高異步操作安全性

  2. 採用延時釋放策略提高 HTTP 異步操作安全性


相關焦點

  • HP-Socket v4.2.1,高性能 TCP & HTTP 通信框架
    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服務端組件、客戶端組件和 Agent 組件,廣泛適用於各種不同應用場景的 TCP/UDP/HTTP 通信系統,提供 C/C++、C#、Delphi
  • 高性能 TCP & UDP 通信框架 HP-Socket v3.4.3 正式發布
    高性能 TCP & UDP 通信框架 HP-Socket v3.4.3 正式發布了,HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服務端組件、客戶端組件和 Agent 組件,廣泛適用於各種不同應用場景的
  • 通信框架 smart-socket 1.4.10 發布,bug 修復與示例補充
    smart-socket 是一個 AIO 通信框架,可以快速、輕鬆地開發 Client/Server 網絡應用程式。
  • python筆記28(TCP,UDP,socket協議)
    4、代碼部分:①介紹socket;②使用socket完成tcp協議的web通信;③使用socket完成udp協議的web通信。1、TCP協議1、可靠,慢,全雙工通信2、建立連接的時候,三次握手3、斷開連接的時候,四次揮手4、在建立起連接後發送的每條信息都有回執為了保證數據的完整性,還有重傳機制5、長連接:會一直佔用雙方的埠6、I/O操作(input,output),輸入輸出相對內存來說的。
  • smart-socket v1.4.4 Bate 版發布,遲到的 UDP 通信
    smart-socket 是一款國產開源的 Java AIO 框架,追求代碼量、性能、穩定性、接口設計各方面都達到極致。
  • 基於TCP的網絡實時聊天室(socket通信案例)
    四、聊天室具體設計目前聊天室的功能定位包括:1)查看當前上線用戶;2):群聊;3)私信;4)退出當前聊天狀態;5)離線;6)查看幫助。("用戶:"+v);       });       continue;}2、群聊 else if (msg.trim().equals("G")){    pw.println("您已進入群聊。")
  • smart-socket v1.5.0 發布,應該是目前最快的 AIO 框架
    smart-socket 是一個 AIO 通信框架,可以快速、輕鬆地開發 Client/Server 網絡應用程式。
  • 介紹一下強大的純PHP高性能的socket伺服器框架workerman
    Workerman是什麼樣的框架?很多新手php程式設計師或中級程式設計師不一定知道也沒有接觸過這類框架。Workerman是一款純PHP開發高性能的socket伺服器框架。目前在市場被廣泛的用於移動通訊,手遊服務端、網路遊戲、聊天室、硬體通訊、智能家居、物聯網等領域的開發。
  • 高性能網絡通信框架 HP-Socket v5.7.2
    鏡像下載:http://mirror.centos.org/centos/8/isos/ 主要改動 對 Yum repo 文件和 repoid 進行了更改,按照開發團隊的解釋,主要是為了使 CentOS Stream 作為獨立於 CentOS Linux 的發行版運行,以及簡化從 CentOS Linux 遷移到 CentOS S...
  • python socket實戰(二)
    每周一總結,準時為你充電上周講了1和2部分,這周接著講3和4,希望給以後用到socket編程的同學一些參考。在真正的項目工程中,如果是涉及到底層到消息交互,譬如和硬體設備通信,都會自定義協商好交互到消息頭欄位。這個在c語言編程中尤為常見。例如,有一個如下到結構體,python如何用socket進行通信傳遞該消息呢。
  • 高性能網絡通信框架 HP-Socket v5.2.1 發布
    Kubernetes 1.20 發布,這是 2020 年的第三版也是最終版。
  • C語言:使用socket寫一個tcp客戶端
    >#include <unistd.h>#include <arpa/inet.h>#include <errno.h>int main(int argc, char *argv[]){    int sockfd;    char recvbuffer[1024*4];    //
  • Linux進程間通信的socketpair()函數
    Linux的socketpair()函數,是創建一對互相連接著的socket描述符。類似TCP連接,兩個文件描述符都可以讀寫,sv[0]寫入的數據在sv[1]讀出,sv[1]寫入的數據在sv[0]讀出。
  • 基於Socket的java通信編程詳解
    ,通過流能夠讀取或訪問網頁上的資源    四、TCP編程  1、TCP協議是面向連接的、可靠的、有序的、以字節流的方式發送數據,通過三次握手方式建立連接,形成傳輸數據的通道,在連接中進行大量數據的傳輸,效率會稍低  2、Java中基於TCP協議實現網絡通信的類
  • Swoole 開發框架 imi v1.1.0 發布,重磅引入 Partial 概念
    imi 是基於 PHP Swoole 的高性能協程應用開發框架,它支持 HttpApi、WebSocket、TCP、UDP 服務的開發。imi 框架擁有豐富的功能組件,可以廣泛應用於網際網路、移動通信、企業軟體、雲計算、網路遊戲、物聯網(IOT)、車聯網、智能家居等領域。可以使企業 IT 研發團隊的效率大大提升,更加專注於開發創新產品。首創毫秒級的註解及代碼熱更新重啟,讓你在開發時只管一把梭,體驗與 fpm 下開發並無二致,保存就刷新,立馬看到效果。
  • 從源碼看tcp三次握手(上)
    -1; } ...static int fd = 4097; struct socket *sock = malloc(sizeof (struct socket)); list_init(&sock->list); sock->pid = pid; sock->refcnt = 1; pthread_rwlock_wrlock(&slock
  • OHSCE_V0.2.0.1 版本發布,跨平臺高可靠性通信框架
    Open HI-REL Signal Communication Engine(簡稱OHSCE)是一款高可靠性跨平臺的PHP通信框架
  • Java進階:基於TCP通信的網絡實時聊天室
    到此,基本實現了一個簡單的客戶端-伺服器應用,因此,本篇將基於前面全部內容,使用客戶端-伺服器(C/S架構),結合多線程技術,模擬類似QQ、微信聊天功能,實現一個網絡實時聊天室,目前的功能包括:1.L(list):查看當前上線用戶;2. G(group):群聊;3. O(one-one):私信;4.
  • 20-python高級篇-如何實現client和server間的通信
    我們通過昨天的文章19-python高級篇-http,socket和tcp的關係認識了http,socket和tcp三者之間的區別和聯繫,今天我們將學習如何實現client和server間的通信。(一)socket編程流程    每一個應用程式佔用一個埠,埠號唯一。socket編程中需要首先綁定協議,地址和埠。
  • goproxy-android v1.1 發布,全能的安卓代理服務,內網穿透!
    高性能的 http 代理、https 代理、socks5 代理、ss 代理、內網穿透、內網穿透 p2p、內網穿透代理、內網穿透反向代理、內網穿透伺服器、遊戲盾、遊戲高防、遊戲代理,支持 API 代理認證。websocket 代理、tcp 代理、udp 代理、socket 代理、高仿伺服器。