Libevent 是一個(gè)用C語言編寫的、輕量級的開源高性能網(wǎng)絡(luò)庫,主要有以下幾個(gè)亮點(diǎn):事件驅(qū)動(dòng)( event-driven),高性能;輕量級,專注于網(wǎng)絡(luò),不如 ACE 那么臃腫龐大;源代碼相當(dāng)精煉、易讀;跨平臺,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多種 I/O 多路復(fù)用技術(shù), epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定時(shí)器和信號等事件;注冊事件優(yōu)先級。

  Libevent 已經(jīng)被廣泛的應(yīng)用,作為底層的網(wǎng)絡(luò)庫;比如 memcached、 Vomit、 Nylon、 Netchat等等。Libevent之于C語言網(wǎng)絡(luò)編程,類似于Nettty之于Java Web編程。學(xué)習(xí)Netty的小伙伴,不防看下Libevent的實(shí)現(xiàn),會加深對Netty框架的理解~

  Libevent的安裝教程網(wǎng)上較多,LZ在此就不再贅述,下面直接來點(diǎn)干貨-Libevent如何使用。

 

檢查Libevent支持的IO復(fù)用方法

  Libevent作為一個(gè)高性能網(wǎng)絡(luò)庫,內(nèi)部封裝了多種IO復(fù)用技術(shù),如果想看下Libevent在當(dāng)前系統(tǒng)下支持哪些IO復(fù)用技術(shù)呢?

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

int main(int argc, char **argv)
{    // 版本信息
    cout << event_get_version() << endl;    // 所支持的IO復(fù)用方法
    const char **methods = event_get_supported_methods();    for (int i = 0; methods[i] != NULL; i++) {
        cout << methods[i] << endl;
    }    return 0;
}

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

輸出結(jié)果為:(Centos7 Clion 2016.1.3環(huán)境)

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式