Libevent

Libevent 是一个用C语言编写的、轻量级的开源高性能网络库.(事件触发)

官网:http://libevent.org/

优点:

  (1)事件驱动,高性能

  (2)轻量级,专注于网络

  (3)跨平台,支持Windows,Linux,MacOS等

  (4)支持多路I/O复用,epoll,poll,dev/poll,select 和kqueue 等

  (5)支持I/O,信号等事件

四大功能:

  (1)DNS是libevent提供的一个异步DNS查询功能

  (2)HTTP是libevent的一个轻量级http实现,包括服务器和客户端

  (3)缓存管理是指evbuffer功能

  (4)事件管理包括各种IO(socket),定时器,信号等事件,也是libevent应用最广的模块

1.定时器:

event_init() => evtimer_set() => event_add() =>event_dispatch()

2.TCP服务器

event_base_new()=>event_set()=>event_base_set()=>event_add()=>event_base_dispatch()

3.DNS解析
evdns_init();=>evdns_resolve_ipv4()=>event_dispatch()=>event_base_free();

原文地址:https://www.cnblogs.com/sxmcACM/p/4425899.html