libevent介绍

来源:互联网 发布:软件产业基地5e 编辑:程序博客网 时间:2024/06/05 10:33
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客户端/服务器实现






















0 0