![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
--------【libevent开源介绍】
文章平均质量分 69
奔跑吧,行者
这个作者很懒,什么都没留下…
展开
-
libevent入门---定时器程序
1、入门1.1、概述Libevent是一个用于开发可扩展性网络服务器的基于事件驱动(event-driven)模型的网络库。Libevent有几个显著的亮点: (1)事件驱动(event-driven),高性能;(2)轻量级,专注于网络,不如 ACE 那么臃肿庞大; (3)源代码相当精炼、易读; (4)跨平台,支持 Windows、Linux、*BSD和 Mac Os;原创 2016-03-08 14:35:47 · 2597 阅读 · 0 评论 -
libevent---核心event和event_base
结构体event和event_base是libevent的两个核心数据结构,前者代表一个事件对象,后者代表整个事件处理框架。1.event事件对象//event.hstruct event {TAILQ_ENTRY (event) ev_next; //已注册事件链表TAILQ_ENTRY (event) ev_active_next;//就绪事件链表TAIL原创 2016-03-08 14:58:34 · 1230 阅读 · 0 评论 -
libevent---源代码结构
Libevent 的源代码虽然都在一层文件夹下面,但是其代码分类还是相当清晰的,主要可分为头文件、内部使用的头文件、辅助功能函数、日志、libevent 框架、对系统 I/O 多路复用机制的封装、信号管理、定时事件管理、缓冲区管理、基本数据结构和基于 libevent的两个实用库等几个部分,有些部分可能就是一个源文件。 (1)头文件 主要就是 event.h:事件宏定义、接口函数声明,主要原创 2016-03-08 14:49:30 · 868 阅读 · 0 评论 -
libevent---主要函数
event_int(初始化libevent实例)struct event_base *event_init(void)初始化事件处理框架实例,内部调用event_base_new。event_base_new的主要逻辑:代码 1 struct event_base * 2 event_base_new(void) 3 { 4 5 //初始化小根堆原创 2016-03-08 15:10:16 · 1679 阅读 · 0 评论 -
libevent---socket异步编程
libevent的使用 -- socket异步编程这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续做自己的事情,实际的读写操作由系统在合适的时候调用我们程序注册的原创 2016-03-04 15:34:18 · 1076 阅读 · 0 评论