高性能的網絡應用的C++庫 Herm

fmms 12年前發布 | 24K 次閱讀 網絡工具包 C/C++

Herm是一套快速開發高性能的網絡應用的C++庫。比如開發網絡游戲、即時通信、流媒體、文件下載、P2P等基于TCP/IP網絡應用。

Herm包括三個組件:

(1)Utilities

最基礎的組件,提供線程、一讀一寫線程不加鎖的ring buffer、二進制消息解析器、支持多態的對象管理器等。

(2)Socket

用面向對象和泛型的方法抽象了TCP/UDP的Socket IOs;抽象了Win32 Select、Linux epoll和FreeBSD kqueue的多路復用API。統一了三者水平模式(Level Triggered)的語義(一套代碼在Win32/Linux/FreeBSD運行結果是一樣的),Linux上也支持了邊緣模式(Edge Triggered)。

(3)Framework

基于Utilities和Socket的簡化開發網絡應用的框架,抽象出Peer和Session對象。Peer和Session對象以及Framework實現的功能將在第2章介紹。

三者調用關系:

Framework----->Socket---->Utils

Framework------------------->Utils

Herm目前僅支持Linux/Windows/FreeBSD 32bits平臺。調用者可以基于不同的需求使用不同的組件。

項目主頁:http://www.baiduhome.net/lib/view/home/1325830636625

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!