Herm高性能的網(wǎng)絡應用的C++庫
Herm是一套快速開發(fā)高性能的網(wǎng)絡應用的C++庫。比如開發(fā)網(wǎng)絡游戲、即時通信、流媒體、文件下載、P2P等基于TCP/IP網(wǎng)絡應用。(此項目已經(jīng)不存在)
Herm包括三個組件:
(1)Utilities
最基礎的組件,提供線程、一讀一寫線程不加鎖的ring buffer、二進制消息解析器、支持多態(tài)的對象管理器等。
(2)Socket
用面向對象和泛型的方法抽象了TCP/UDP的Socket IOs;抽象了Win32 Select、Linux epoll和FreeBSD kqueue的多路復用API。統(tǒng)一了三者水平模式(Level Triggered)的語義(一套代碼在Win32/Linux/FreeBSD運行結果是一樣的),Linux上也支持了邊緣模式(Edge Triggered)。
(3)Framework
基于Utilities和Socket的簡化開發(fā)網(wǎng)絡應用的框架,抽象出Peer和Session對象。Peer和Session對象以及Framework實現(xiàn)的功能將在第2章介紹。
三者調用關系:
Framework----->Socket---->Utils
Framework------------------->Utils
Herm目前僅支持Linux/Windows/FreeBSD 32bits平臺。調用者可以基于不同的需求使用不同的組件。
評論
圖片
表情
