一.libevent的基本概念
- libevent的基本特点:
(1).C语言编写,开源,开发效率高;
(2).封装了socket通信和IO多路转接;
(3).代码精简专注于网络,性能高;
(4).事件驱动:将网络io处理转化为事件处理即libevent是对reactor的一个封装; - libevent的安装:libevent安装方法
二.libevent应用方法
流程: 创建事件管理器 → 创建事件 → 将事件添加到事件管理器 → 开始事件循环 → 释放资源
1. 创建事件管理器
函数: struct event_base * event_base_new(void);
返回值: 成功返回结构体指针,失败返回NULL;
注释: 每个event_base持有一个事件集合,可以检测哪个事件是激活的;
附:
1)查看event_base封装的后端:
函数:(1)`const char ** event_get_supported_methods(void);`
注释:查看后台支持的所有方式(select,poll,epoll)
函数:(2)`const char * event_base_get_method(const struct event_base *base);`
注释:查看当前使用的方式
2)子进程中需要继续使用event_base需要进行初始化
函数:`int event_reinit(struct event_base *);`
2. 创建事件(不带缓冲区的