1.官网:http://libevent.org/
github:https://github.com/libevent/libevent
也可直接使用命令下载:
wget https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
2.安装
$ ./configure
$ make
$ make verify # (optional)
$ sudo make install
如果configure的时候出现:bash: ./configure: Permission denied错误的话,使用以下命令
bash ./configure
安装完成后课查看libevent的库文件:
3.使用:
在cc编译的时候加-levent选项
4.libevent的使用步骤
要说明的是libevent并不是封装socket,而是封装了select/poll/epoll等,严格来讲不是简单的封装,其使用Reactor的设计模式。也就是说我们使用libevent编程时,需要自己创建socket,然后将fd填充到event_base,并注册回调函数(即事件回调),当反应堆检测到事件时会直接调用我们注册的回调函数,这就是所谓的事件驱动。通常编写代码的步骤为:
(1)创建socket
(2)创建事件集event_base
(3)创建event_new(注册回调函数)
(4)添加事件到事件集event_base
(5)进行事件检测,event_base_dispatch()/event_base_loop()
实例后面补~