libevent是一個(gè)跨平臺(tái)的事件驅(qū)動(dòng)庫(kù),他目前支持Linux, *BSD, Mac OS X, Solaris 和 Windows。如果你將要開發(fā)的應(yīng)用程序需要支持以上所列出的平臺(tái)中的兩個(gè)以上,那么強(qiáng)烈建議你采用這個(gè)庫(kù),即使你的應(yīng)用程序只需要支持一個(gè)平臺(tái),選擇libevent也是有好處的,因?yàn)樗梢愿鶕?jù)編譯/運(yùn)行環(huán)境切換底層的事件驅(qū)動(dòng)機(jī)制,這既能充分發(fā)揮系統(tǒng)的性能,又增加了軟件的可移植性。
它封裝并且隔離了事件驅(qū)動(dòng)的底層機(jī)制,除了一般的文件描述符讀寫操作外,它還提供有讀寫超時(shí)、定時(shí)器和信號(hào)回調(diào),另外,它還允許為事件設(shè)定不同的優(yōu)先級(jí),
當(dāng)前版本的libevent還提供dns和http協(xié)議的異步封裝,這一切都讓這個(gè)庫(kù)尤其適合于事件驅(qū)動(dòng)應(yīng)用程序的開發(fā)。
可是,網(wǎng)絡(luò)上關(guān)于libevent的教程確實(shí)不多,大多數(shù)時(shí)候只能通過讀其源碼了解其具體應(yīng)用。委實(shí)不方便,順手把google來的東西放在下面的參考鏈接里面,供大家查詢吧!
參考鏈接:
[1]
Network Programming Using Libevent - (I)[2]
Network Programming Using Libevent - (II)[3]
Network Programming Using Libevent - (III)[4]
http://unx.ca/log/category/libevent/