libevent:一个在网络服务器中事件驱动开发库

libevent

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 OSX、Solaris、Windows等。

此外,libevent 还对网络IO缓存、套接字、过滤器、速率限制、SSL、零拷贝文件传输和IOCP 提供了支持。Libevent 还支持包含DNS、HTTP 和 RPC 在内的常用协议。

下载

最新版本

最新发布的版本是 libevent-2.1.6-beta,发布于2016年8月27日。

最新版本 ChangeLog

稳定版本

最新的稳定版本是 libevent-2.0.22-stable,发布于2014年1月5日。

最新的稳定版本 ChangeLog

安装

获取代码拷贝

编译安装

了解 libevent

开发资源

官方网站:http://libevent.org/
开源地址:https://github.com/libevent/libevent

1 收藏

资源整理者简介:Anloper

C软件攻城狮我不造轮子,只是轮子界的搬运工。 个人主页 · 贡献了3个资源 · 1 ·   


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer