libevnet学习笔记1
1.Libevent是什么?
Libevent是一个轻量级的开源的高性能的网络库,被众多的开源项目使用,例如大名鼎鼎的memcached等。具有如下的显著的特点:事件驱动,轻量级(和ACE相比的话),跨平台,支持多路的IO复用技术,支持定时器、信号等事件。
2.Libevent功能
Libevent提供了事件通知,io缓存事件,定时器,超时,异步解析dns,事件驱动的http server以及一个rpc框架。
事件通知:当文件描述符可读可写时将执行回调函数。
Io缓存:缓存事件提供了输入输出缓存,能自动的读入和写入,用户不必直接操作io。
定时器:libevent提供了定时器的机制,能够在一定的时间间隔之后调用回调函数。
异步的dns解析:libevent提供了异步解析dns服务器的dns解析函数集。
事件驱动的http服务器:libevent提供了一个简单的,可集成到应用程序中的HTTP服务器。
RPC客户端服务器框架:libevent为创建RPC服务器和客户端创建了一个RPC框架,能自动的封装和解封数据结构。
3.Reactor模式
libevent是一个典型的reactor模式的实现。这里需要说明一个什么是reactor模式。普通的函数调用机制如下:程序调用某个函数,函数执行,程序等待,函数将结果返回给调用程序(如果含有函数返回值的话)。Reactor模式的基本流程如下:应用程序需要提供相应的接口并且注册到reactor上,如果相应的事件发生的话,那么reactor将自动调用相应的注册的接口函数(类似于.net中的回调函数)。
4.Libevent安装
Libevent安装比较简单,安装过程如下(ubuntu下,其他系统下类似,libevent的版本2.0.12-stable ):
xuqiang@ubuntu:~/libevent/libevent-2.0.12-stable$ ./configure
xuqiang@ubuntu:~/libevent/libevent-2.0.12-stable$ make
xuqiang@ubuntu:~/libevent/libevent-2.0.12-stable$ sudo make install
5. 几个简单的示例程序
定时器:
信号量:
io事件:
bufferevent使用:
分享到:
相关推荐
Libevent 源代码学习笔记。个人看源代码的总结,本人自己写的
Libevent分析笔记
Group : Development/Libraries Source RPM : libevent-1.4.13-1.src.rpm Size : 1.31 MB Packager : Eddy Nigg < eddy_nigg_startcom_org> Summary : Header files, libraries and development documentation ...
20121021_libevent笔记1
libevent源码深度剖析:主要介绍libevent框架,以及重要流程.
以下Libevent特定的CMake变量如下(值是默认值)。 # Type of the library to build (SHARED or STATIC) # Default is: SHARED for MSVC, otherwise BOTH EVENT__LIBRARY_TYPE:STRING=DEFAULT # Installation ...
附件为本人整理的libevent的入门学习资料,时候零基础学习。
检出Makefile到包目录从 SDK 根目录运行make package/libevent21/install V=s 构建成功后,将包放置在bin/${PLATFORM}/packages目录中: bin/ar71xx/packages/base/libevent2-pthreads_2.1.5-1_ar71xx.ipk bin/ar71...
Libevent 编程中文帮助文档 版本:V1.0 日期:2016-11-15 作者:周勇 本文 档是 2009-2012 年由 Nick-Mathewson 基于 Attribution-Noncommercial-Share Alike 许可协议 3.0 创建,未来版本将会使用约束性更低的...
自己学完之后有很大提高,希望能帮到大家
里面有本人学习Libevent时使用过的文档,包括中文手册。还有本人写的基于Libevent多线程的服务器框架
基于libevent的一个服务端和客户端,希望给新手学习参考一下
libevent-2.1.10-stable.tar libevent-release-1.4.15-stable.tar libevent文件组织 用50个金币买的,不想让继续多赚 包含这些
最新的libevent中文参考手册; Libevent 是用于编写高速可移植非阻塞 IO 应用的库,其设计目标是: 可移植性:使用 libevent 编写的程序应该可以在 libevent 支持的所有平台上工作。即使 没有好的方式进行非阻塞 IO...
1、ubuntu本机环境自动下载安装:apt-get install libevent-dev 2、交叉编译: 编译测试: make clean make 指定本地lib库: export LD_LIBRARY_PATH=$(pwd)/lib 运行 http服务器demo:(http服务器可使用postman...
对学习和使用libevent很有帮助。很多网络框架底层的基础,理解有助于了解上层框架的构成。在游戏开发方向也有很多服务器架构作为必不可少的一部分。都是基于此做的网络库的封装。
本安装包基本Linux之Ubuntu16 LTS环境压缩包-libevent-2.1.11-stable...其中libevent库文件集成了evhttp高并发多延迟框架的库文件。经过实际的项目验证,安全可靠。 凡通过本人上传的资源,全部是经过实际项验证过的。
libevent参考手册(中文版),包含libevent的设计说明、原理描述,模块介绍和接口说明。
文件为参考《libevent中文参考手册》以及《libevent源码深度剖析》(张亮)总结的libevent的学习资料。
Libevent阅读笔记 Libevent原始码阅读和添加中文注释,有些地方没有改中文因为还是英文的意思好理解 目录结构 // libevent 2.1.12 // * 代表核心源码 . ├── README.md ├── arc4random.c ├── buffer.c // ...