高性能的網絡應用的C++庫 Herm
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平臺。調用者可以基于不同的需求使用不同的組件。
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!