主頁 > 軟體工程 > HP-Socket v5.0.1:支持 IPv6 及多 SSL 證書

HP-Socket v5.0.1:支持 IPv6 及多 SSL 證書

2020-09-19 06:50:14 軟體工程


  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 模型示例、性能測驗示例以及其它編程語言示例)。HP-Socket 目前運行在 Windows 平臺,現在正在緊張有序地開發Linux版本,敬請期待。


  * HP-Socket 官方網站:http://www.jessma.org
  * HP-Socket 專案主頁:https://github.com/ldcsaa/HP-Socket
  * HP-Socket 開發檔案:http://www.oschina.net/p/hp-socket/doc
 ------------------------------------------------------------------------------------------------
 【通用性】
   1、HP-Socket 的唯一職責就是接收和發送位元組流,不參與應用程式的協議決議等作業。
   2、HP-Socket 與應用程式通過介面進行互動,并完全解耦。任何應用只要實作了 HP-Socket 的介面規范都可以無縫整合 HP-Socket。
 
【易用性】
   1、易用性對所有通用框架都是至關重要的,如果太難用還不如自己重頭寫一個來得方便。因此,HP-Socket 的介面設計得非常簡單和統一。
   2、HP-Socket 完全封裝了所有底層通信細節,應用程式不必也不能干預底層通信操作。通信連接被抽象為 Connection ID,Connection ID 作為連接的唯一標識提供給應用程式來處理不同的連接。
   3、HP-Socket 提供 PUSH / PULL / PACK 等接收模型, 應用程式可以靈活選擇以手工方式、 半自動方式或全自動方式處理封解包, PULL / PACK 接收模型在降低封解包處理復雜度的同時能大大減少出錯幾率。

【高性能】
   Client 組件:基于 Event Select 通信模型,在單獨執行緒中執行通信操作,避免與主執行緒或其他執行緒相互干擾。每個組件物件管理一個 Socket 連接。
   Server 組件:基于 IOCP 通信模型,并結合快取池、私有堆(Private Heap)等技術,支持超大規模連接,在高并發場景下實作高效記憶體管理。
   Agent 組件:對于代理服務器或中轉服務器等應用場景,服務器自身也作為客戶端向其它服務器發起大規模連接,一個 Agent 組件物件同時可管理多個 Socket 連接;Agent 組件與 Server 組件采用相同的技術架構,可以用作代理服務器或中轉服務器的客戶端部件。
 
【伸縮性】
   應用程式能夠根據不同的容量要求、通信規模和資源狀況等現實場景調整 HP-Socket 的各項性能引數(如:作業執行緒的數量、快取池的大小、發送模式和接收模式等),優化資源配置,在滿足應用需求的同時不必過度浪費資源。
------------------------------------------------------------------------------------------------
 
*** v5.0.1 更新 ***

> IPv6 支持:
----------------- 
  1、所有通信組件支持 IPv6
  2、組件介面沒有變化,組件內部通過傳入的地址引數自動識別 IPv4 / IPv6
  3、API 更新:
 1) enum En_HP_IPAddrType (增加)
 2) struct HP_TIPAddr (增加)
 3) SYS_GetIPv4InAddr (洗掉)
 4) SYS_GetOptimalIPByHostName (洗掉)
 5) SYS_IsIPAddress (修改)
 6) SYS_GetIPAddress (修改)
 7) SYS_EnumHostIPAddresses (增加)
 8) SYS_FreeHostIPAddresses (增加)
> SSL 通信組件:
----------------- 
  1、多 SSL 證書支持,每個通信組件物件可以使用不同的 SSL 證書
  2、通信組件物件系結獨立的 SSL Context,取代舊版本的全域唯一 SSL Context
  3、API 更新:
 1) HP_SSL_Initialize  (洗掉)
 2) HP_SSL_Cleanup  (洗掉)
 3) HP_SSL_AddServerContext  (洗掉)
 4) HP_SSL_IsValid  (洗掉)
 5) HP_SSLAgent_SetupSSLContext  (增加)
 6) HP_SSLClient_SetupSSLContext  (增加)
 7) HP_SSLServer_SetupSSLContext  (增加)
 8) HP_SSLServer_AddSSLContext  (增加)
 9) HP_SSLAgent_CleanupSSLContext  (增加)
 10) HP_SSLClient_CleanupSSLContext  (增加)
 11) HP_SSLServer_CleanupSSLContext  (增加)
> 其它更新:
-----------------
  1、Demo 更新:所有 Demo 支持 IPv6;所有 SSL Demo 支持新的證書機制
  2、公共代碼包 vc-common-src 版本升級到 v2.3.20
------------------------------------------------------------------------------------------------

*** v4.2.1 更新 ***

> HTTP Cookie 管理支持:
----------------- 
  1、新增 Cookie 管理器,可在不同連接、不同組件物件間共享 Cookie
  2、Cookie 管理器實作了標準 HTTP Cookie 功能,支持 Max-Age、expires、httpOnly、secure
  3、Cookie 管理器支持 Cookie 序列化與反序列化
  4、IHttpClient 和 IHttpAgent 組件可通過 SetUseCookie() 方法設定是否開啟 Cookie 功能

> HTTP Sync Client 通信組件更新:
-----------------
  1、Create_HP_HttpSyncClient 和 Create_HP_HttpsSyncClient 方法增加可選引數 pListener
  2、如果 pListener 非空則可以通過 pListener 監聽 HttpSyncClient 的所有通信事件

> 其它更新:
-----------------
  1、Demo 更新:HttpProxy,TestEcho-Http,TestEcho-Http-4C
  2、公共代碼包 vc-common-src 版本升級到 v2.3.18
  3、OpenSSL 版本升級到 1.1.0e
------------------------------------------------------------------------------------------------
 
*** v4.1.3 更新 ***

> 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 示例
------------------------------------------------------------------------------------------------

uj5u.com熱心網友回復:

PS:Linux版本正在緊張有序地開發中,敬請期待。

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:


很好很強大呀

uj5u.com熱心網友回復:

與時俱進,IPv6,支持!

uj5u.com熱心網友回復:

等了3年,Linux版終于有眉目了~

uj5u.com熱心網友回復:

快上今年版本帝排行榜了!

uj5u.com熱心網友回復:

支持加油

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

好asgi kb yi j xwltk

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

好東西,真不錯,已經在用了。

uj5u.com熱心網友回復:

等了3年,Linux版終于有眉目了~

uj5u.com熱心網友回復:

學習一下~~

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

學習一下. 分享總是對的.

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

學習一下. 分享總是對的.

uj5u.com熱心網友回復:

不錯的帖子,學習了                                                                          

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

謝謝分享              ~

uj5u.com熱心網友回復:

linux版本快出來吧

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

跨年呈獻:HP-Socket for Linux 1.0 震撼發布

GO >>>

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/79674.html

標籤:網絡編程

上一篇:UI執行緒創建子dialog設計子視窗和父視窗的通信問題

下一篇:CDialog::Create出錯

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more