libevent简介 构成

libevent简介

       libevent是一个事件驱动的网络库,支持跨平台,如Linux, *BSD, MacOS X, Solaris, Windows。支持I/O多路复用,epollpoll/dev/pollselectkqueue等。

libevnet额外提供了一个缓冲网络I/O的高级框架,支持sockets, filters,rate-limiting, zero-copy file transmission, SSL IOCPlibevent还支持DNSHTTPRPC

libevnet使用C语言编写,事件框架是典型的Reactor模式,支持I/O、定时器、信号事件。作为底层的网络库被广泛使用,如memcached

 

 Libevent构成

       libevent由以下组件构成:

       Evutil:用于抽象不同平台网络实现差异的通用功能。

       Event:封装了fd,signal,事件处理函数。

       Event_Base:管理所有的event

       Bufferevent:为Libevent基于事件的核心提供更方便的封装。

       Evbuffer:在Bufferevent下层实现缓冲功能。

       Evhttp:简单的http客户端、服务器。

       Evdns:简单的DNS客户端、服务器。

       Evrpc:简单的RPC

原文地址:https://www.cnblogs.com/solohac/p/4154186.html