Libevent應用 (零) Libevent簡單介紹與安裝
現在高效能網路伺服器基本都是非同步I/O模式構建的,而Libevent就是對select、poll、epoll等各類非同步模式介面的封裝,通過設定回撥函式的方式,在監聽檔案描述符和套接字讀寫事件的同時,還兼任定時器和訊號接收的管理工作。
所以Libevent對高效能伺服器後臺開發、跨平臺開發、網路開發都具有很大的參考學習價值。官方主頁顯示很多的專案都用到了Libevent庫,而且還可作為主機內部程式間通訊和資料互動。Libevent也考慮到pthread執行緒模型的同步問題,保證關鍵資料結構在多執行緒並行下的資料安全!
libevent 由下列元件構成:
evutil:用於抽象不同平臺網路實現差異的通用功能。
event 和event_base:libevent 的核心,為各種平臺特定的、基於事件的非阻塞IO 後端提供抽象API,讓程式可以知道套接字何時已經準備好,可以讀或者寫,並且處理基本的超時功能,檢測OS 訊號。
bufferevent:為libevent 基於事件的核心提供使用更方便的封裝。除了通知程式套接字已經準備好讀寫之外,還讓程式可以請求緩衝的讀寫操作,可以知道何時IO 已經真正發生。(bufferevent 介面有多個後端,可以採用系統能夠提供的更快的非阻塞IO 方式,如Windows 中的IOCP。)
evbuffer:在bufferevent 層之下實現了緩衝功能,並且提供了方便有效的訪問函式。
evhttp:一個簡單的HTTP 客戶端/伺服器實現。
evdns:一個簡單的DNS 客戶端/伺服器實現。
evrpc:一個簡單的RPC 實現
ubuntu上安裝libevent只需輸入以下命令:
sudo apt-get install libevent-dev
也可以直接到官網上下載原始碼包來安裝。http://libevent.org/
#在當前目錄下解壓安裝包: tar -zxvf libevent-2.0.22-stable.tzr.gz cd libevent-2.0.22-stable #配置安裝庫的目標路徑: ./configure --prefix=/usr #編譯安裝libevent庫: make make install #檢視libevent庫是否安裝成功: ls -al /usr/lib | grep libevent
通過函式event_get_version()可以檢視libevent的版本。
相關文章
- libevent入門介紹
- Libevent教程001: 簡介與配置
- Linux中Libevent程式設計介紹Linux程式設計
- Linux安裝boost、libevent、zlib、OpenSSL庫Linux
- Libevent應用 (二) 與事件一起工作事件
- Libevent應用 (一) 建立event_base
- Libevent應用 (三) 資料緩衝
- Disruptor的簡單介紹與應用
- Libevent應用(六)從bufferevent中取出evbuffer
- libevent之event
- libevent之bufferevents
- libevent之evbuffer
- libevent之evconnlistener
- Libevent應用 (四) 輔助型別和函式型別函式
- 【jetson orin】Jetson Containers介紹安裝與應用AI
- Lucene介紹及簡單應用
- 阿里雲Linux下安裝libevent+Memcached伺服器端阿里Linux伺服器
- Libevent應用 (五) 連線監聽器,接收tcp連線TCP
- libevent之event_base
- Docker-ElasticSearch7.8.1 安裝及簡單介紹DockerElasticsearch
- redis介紹與安裝Redis
- RocketMQ 介紹與安裝MQ
- 【Linux系統程式設計】libevent庫bufferevent與evconnlistenerLinux程式設計
- match函式簡單介紹以及與index函式結合應用函式Index
- 玩轉 PHP 網路程式設計全套之 libevent 框架多人聊天應用PHP程式設計框架
- Prism:框架介紹與安裝框架
- RPM包安裝與介紹
- Rancher簡介與安裝
- SpringBoot2.0應用(一):SpringBoot2.0簡單介紹Spring Boot
- 01 . Shell詳細入門介紹及簡單應用
- 簡單的介紹伺服器和Ajax的應用伺服器
- redis系列:redis介紹與安裝Redis
- MongoDB基本介紹與安裝(1)MongoDB
- Poetry(1)Poetry介紹與安裝
- Redis簡介與安裝(Windows)RedisWindows
- Zabbix 簡介與yum安裝
- scrapy的簡介與安裝
- OpenCV 簡介與安裝方法OpenCV