libevent介绍
2015-10-22 19:15
323 查看
libevent可以用于快速编写轻量级的非阻塞IO。设计目标主要有:
1.可移植性
libevent编写的程序可以在所有平台上运行
2.速度
libevent在每个平台上都尽可能使用最快的非阻塞IO的实现方案。
3.可扩展性
程序即使需要成千上万的活动的socket也能很好的运行。
4.便利
用最自然的方式来写libevent程序应该是文档的方案。
libevent 由几部分组成:
evutil
该部分是通用的功能,抽象出不同平台之间的差异的网络实现。
event and event_base
该部分是libevent的核心。对于每个特定的平台提供了抽象的API,基于事件的非阻塞IO端。它做了基本的超时功能和检测系统信号,你可以知道什么时候socket可以读或写。
bufferevent
该部分对event-base进行了封装。它让程序请求缓冲读写,而不是通知你socket可以读写。
evbuffer
该模块实现了bufferevent的底层buffer,并提供了高效的访问方法。
evhttp
简单的http客户端/服务器实现
evdns
简单的DNS客户端/服务器实现
evrpc
简单的RPC客户端/服务器实现
1.可移植性
libevent编写的程序可以在所有平台上运行
2.速度
libevent在每个平台上都尽可能使用最快的非阻塞IO的实现方案。
3.可扩展性
程序即使需要成千上万的活动的socket也能很好的运行。
4.便利
用最自然的方式来写libevent程序应该是文档的方案。
libevent 由几部分组成:
evutil
该部分是通用的功能,抽象出不同平台之间的差异的网络实现。
event and event_base
该部分是libevent的核心。对于每个特定的平台提供了抽象的API,基于事件的非阻塞IO端。它做了基本的超时功能和检测系统信号,你可以知道什么时候socket可以读或写。
bufferevent
该部分对event-base进行了封装。它让程序请求缓冲读写,而不是通知你socket可以读写。
evbuffer
该模块实现了bufferevent的底层buffer,并提供了高效的访问方法。
evhttp
简单的http客户端/服务器实现
evdns
简单的DNS客户端/服务器实现
evrpc
简单的RPC客户端/服务器实现
相关文章推荐
- Hbase 安装配置
- 常用实用方法
- 时间的实践
- Android 颜色透明度计算
- NSFileManager
- linux 以及android 系统下常用命令备忘
- 贝叶斯网络
- zoj 3908 Number Game(STL)
- linux-0.11完全剖析第二天: bochs+ubuntu 14.04 运行简单的多任务内核
- Python SqlAlchemy使用方法
- zoj 3633 - Alice's present(暴力?set)
- CSS选择器的权重与优先规则
- AngularJS的使用方法
- zoj 3911 Prime Query(线段树)
- 代码量统计方法
- 《近匠》专访小熊尼奥:从软硬结合到IP合作,AR产品的机遇
- fragment 动态加载,删除
- 数据结构:加权图的API
- less的使用方法
- Java 正则表达式