跨平臺(tái)事件驅(qū)動(dòng)庫(kù):libevent
libevent是一個(gè)跨平臺(tái)的事件驅(qū)動(dòng)庫(kù),他目前支持Linux, *BSD, Mac OS X, Solaris 和 Windows。如果你將要開(kāi)發(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ī)制,除了一般的文件描述符讀寫(xiě)操作外,它還提供有讀寫(xiě)超時(shí)、定時(shí)器和信號(hào)回調(diào),另外,它還允許為事件設(shè)定不同的優(yōu)先級(jí),當(dāng)前版本的libevent還提供dns和http協(xié)議的異步封裝,這一切都讓這個(gè)庫(kù)尤其適合于事件驅(qū)動(dòng)應(yīng)用程序的開(kāi)發(fā)。
可是,網(wǎng)絡(luò)上關(guān)于libevent的教程確實(shí)不多,大多數(shù)時(shí)候只能通過(guò)讀其源碼了解其具體應(yīng)用。委實(shí)不方便,順手把google來(lái)的東西放在下面的參考鏈接里面,供大家查詢(xún)吧!
參考鏈接:
[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/
posted on 2007-08-21 00:50 楊粼波 閱讀(831) 評(píng)論(0) 編輯 收藏 引用