黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

libevent 概述(一)

系統 2363 0

概述

??????? 聲明,本文章東搬西扯抄來過的,并非原創,寫給自己參考的。

??????? 關于libevent的描述,有兩個百科的連接可以參考:

??????? libevent百度百科

??????? libevent維基百科

??????? 在維基百科時,有幾個有用的連接可以參考:

?????? libevent 2.0參考書籍(英文)

??????? 還有另一個競爭力的事件庫:

??????? libev(另一個有競爭力的事件庫)

??????? libevent是一個事件觸發的網絡庫,適用于windows、linux、bsd等多種平臺,內部使用select、epoll、kqueue等系統調用管理事件機制。libevent支持用戶使用三種類型的事件,分別是網絡IO、定時器、信號三種。Libevent提供了DNS,HTTP Server,RPC等組件。??????

相關組件

組件 說明
evutil 不同平臺網絡實現的通用功能函數。
event 和event_base libevent的核心。提供與平臺無關的事件驅動的非阻塞IO后端的API。它可以讓你知道socket何時可讀可寫,超時處理和系統信號探測。
bufferevent 提供event_base更方便的封裝函數。提供緩沖支持。bufferevent同樣提供多種IO后端。
evbuffer bufferevent的緩沖機制底層實現。并提供更方便和高效的緩沖訪問。
evhttp 簡單的HTTP客戶端服務端實現。
evdns 簡單的DNS客戶端服務端實現。
evrpc 簡單的RPC客戶端服務端實現。

?

相關庫

說明
libevent_core 核心事件和緩沖功能。包含所有的event_base, evbuffer, bufferevent, 和工具函數。
libevent_extra 協議相關的功能,包含HTTP, DNS, 和RPC。
libevent 包含libevent_core和libevent_extra。由于歷史的原因而存在。新應用程序不應該連接這個庫。
libevent_pthread 依賴事pthread線程庫,提供線程和鎖實現。當你使用pthread多線程時,才連接這個庫。(只在某些平臺存在)
libevent_openssl 依賴于OpenSSL庫的加密通信支持。當你使用加密通信時,才連接這個庫。(只在某些平臺存在)

相關頭文件

??????? 所有的頭文件安裝在event2目錄下。頭文件大類別如下表:

類別 說明
API頭文件 這個是libevent的對外頭文件,文件沒有任何后輟。
兼容頭文件 兼容頭文件包含拋棄的函數定義,除非是為了移值舊的程序,否則不要使用。文件以_compat.h結尾。
結構體頭文件 libevent結構體定義的頭文件。文件以_struct.h結尾。

??????? 除了上述提到的頭文件外,還有一些為了兼容舊程序而使用的頭文件。它們不放在event2目錄。放在這個目錄的上一層。這些文件其實是新文件的包裝而已。對應該關系如下表。

舊頭文件 被替換的頭文件
event.h event2/event*.h, event2/buffer*.h, event2/bufferedevent*.h, event2/tag*.h
evdns.h event2/dns*.h
evhttp.h event2/http*.h
rvrpc event2/rpc*.h
evutil event2/util*.h

?

其它

??????? 本文大多剽竊自 libevent-book 。具體請詳細參考之。另外很多懶人不太習慣LINUX的編程調試環境,所以根據libevent提供的Makefile建了個VC2008的解決方案,直接解壓出來丟到libevent目錄,分別編譯各個庫。另,只為了調試搞DEBUG版本的,RELEASE的動都沒動,sameple工程包括所有的例子了,直接編譯是不通的。所以如果你要分別測試的話,要搞掉其它的。最簡單的方法就是#if 0 #endif之類的。 下載VC2008解決方案

?

??????? 本文同時發在另一個BLOG: http://imlgc.com/?p=71

libevent 概述(一)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論