阅读量:0
- 创建event_base:初始化libevent库,创建一个event_base对象用于管理事件循环。
#include <event2/event.h> int main() { struct event_base *base = event_base_new(); // Do something with the event base event_base_free(base); return 0; }
- 创建事件:使用event_new函数创建一个新的事件,并设置事件的回调函数和事件类型。
#include <event2/event.h> void event_callback(evutil_socket_t fd, short events, void *arg) { // Event callback function } int main() { struct event_base *base = event_base_new(); struct event *ev = event_new(base, fd, EV_READ | EV_PERSIST, event_callback, NULL); event_add(ev, NULL); event_base_dispatch(base); event_base_free(base); return 0; }
- 定时事件:使用event_new创建一个定时事件,并设置事件的超时时间。
#include <event2/event.h> void timer_callback(evutil_socket_t fd, short events, void *arg) { // Timer callback function } int main() { struct event_base *base = event_base_new(); struct timeval tv = {1, 0}; struct event *ev = evtimer_new(base, timer_callback, NULL); evtimer_add(ev, &tv); event_base_dispatch(base); event_base_free(base); return 0; }
这些示例展示了libevent库的基本用法,可以根据具体的需求进一步扩展和修改。