02libevent库的整体框架思想

02libevent库的整体框架思想

以下是关于libevent学习的相关文章:
01libevent库的下载与安装并且测试是否安装成功
02libevent库的整体框架思想
03libevent下通信的主要函数
04libevent库下fifo作为通信的套接字
05libevent库下未决与非未决的解释
06libevent下通信中bufferevent缓冲区的特性介绍
07libevent库下bufferevent事件的相关函数
08libevent库下通信服务端与客户端的主要函数
09libevent库服务端与客户端的TCP通信流程和代码示例

思想:所见皆事件,类比Linux,所见皆为文件。所以有的事件响应都是基于回调函数实现;例如事先先设定回调函数,当某个事件满足后,内核自动帮你调用注册的回调。’

1 libevent整体框架
1)创建event_base,类似乐高底座。函数为

struct event_base* event_base_new(void);

2)创建事件。包括普通事件event和用于socket通信的缓存事件bufferevent。

event_new();
bufferevent_socket_new();//一般调用在建立好连接后

3)添加事件到base上。

int event_add(struct event *ev,const structtimeval *tv);

4)循环监听事件。

int event_base_dispatch(struct event_base *base);//类似epoll_wait()加上while()

5)释放event_base。

event_base_free(base);

注意:以上只是简单的介绍libevent的主要框架,但是却非常重要的,接着往下的文章将详细的介绍libevent通信的主要函数。

猜你喜欢

转载自blog.csdn.net/weixin_44517656/article/details/108742062