libevent入门教程:简介
libevent API提供了一种机制,可以在文件描述符上发生特定事件或达到超时后执行回调函数。此外,libevent还支持由于信号或常规超时而产生的回调。libevent旨在取代事件驱动网络服务器中的事件循环。应用程序只需要调用event_dispatch(),然后动态地添加或删除事件,而不必更改事件循环。
目前libevent支持/dev/poll
、kqueue
、事件端口、POSIX select
、Windows select
、poll
和epoll
。内部事件机制完全独立于公开的事件API, libevent的简单更新可以提供新功能,而无需重新设计应用程序。因此,libevent支持可移植的应用程序开发,并提供了操作系统上可用的最具可伸缩性的事件通知机制。libevent也可以用于多线程应用程序,要么通过隔离每个event_base
以便只有一个线程访问它,要么通过锁定访问单个共享event_base
。libevent可以在Linux、*BSD、Mac OS X、Solaris、Windows等平台上编译。
libevent还为缓冲网络IO提供了一个复杂的框架,支持套接字、过滤器、速率限制、SSL、零拷贝文件传输和IOCP。libevent支持几种有用的协议,包括DNS、HTTP和一个最小的RPC框架。
libevent入门教程:简介
https://blog.jackeylea.com/libevent/intro-of-libevent/