美文网首页
Libevent 定时器

Libevent 定时器

作者: YuWenHaiBo | 来源:发表于2016-10-20 09:41 被阅读239次
    #include <iostream>
    #include <WinSock2.h>
    #include <event2/event.h>
    #include <event2/event_struct.h>
    using namespace std;
    
    
    //#include <sys/time.h>
    // 定时事件回调函数 
    // struct event ev; //事件
    struct timeval tv; //定时器
    struct event_base *base; //定义一个event_base
    struct event *ev;
    /*事件处理函数,cb=callback*/
    void time_cb(int fd, short _event, void *argc)
    {
        cout << "timer wakeup" << endl;
        event_add(ev, &tv);/*重新添加定时器*/
    }
    
    
    int main(int argc,char **argv)
    {
        WSADATA WSAData; /*初始化WINDOWS socket库*/
        WSAStartup(0x101, &WSAData);
    
        base = event_base_new(); //初始化一个event_base  
        tv.tv_sec = 1; //间隔
        tv.tv_usec = 0;
         ev = event_new(base, -1, EV_TIMEOUT , time_cb, base);
        // event_assign(&ev, base, -1, 0,time_cb, base);
    
        event_add(ev, &tv);//注册事件 相当于调用Reactor::register_handler()函数注册事件
        event_base_dispatch(base);//进入消息循环和消息分发
    }
    
    

    相关文章

      网友评论

          本文标题:Libevent 定时器

          本文链接:https://www.haomeiwen.com/subject/cvhxuttx.html