libevent总结(一)-------libevent常规事件

写在前面:libevent优点:开源、精简、跨平台、专注网络;

                  特性:基于“事件的异步通信模型”,---回调较多;

                  本文先将libevent的常规事件,后面还会总结libevent的bufferevent 事件。QQ:993650814.

 

正文:

一、常规事件的一般步骤:

第一步:创建event_base 

   struct event_base * event_base_new(void);

第二步:创建事件(常规事件或者buffer事件)
  创建常规事件
struct event *   event_new(struct event_base *base, evutil_socket_t fd, short events,

                                        void (*cb)(evutil_socket_t, short, void *),void *arg);

参数: 
   base:event_base_new返回值;
   fd:绑定到事件event的文件描述符
   events:对应的事件(读、写、异常)
    EV_TIMEOUT:设置超时特性    
    EV_READ:表示指定的文件描述符已经就绪,可以读取的时候,事件将成为激活的。
    EV_WRITE:表示指定的文件描述符已经就绪,可以写入的时候,事件将成为激活的。

    EV_PERSIST 表示事件是“持久的”。

   cb:一旦事件满足监听条件,回调的函数
    回调函数的三个参数:文件描述符、events对应的事件、arg
   arg:回调函数的第三个参数
      
返回:创建成功的 event
   
第三步:将事件添加到base上
 
int even

你可能感兴趣的:(libevent)