Linux企业级开发技术(5)——libevent企业级开发之简介
来源:互联网 发布:500男士手表知乎 编辑:程序博客网 时间:2024/05/23 01:34
Libevent是一个用于编写高速可移植非阻塞IO应用的库,它的设计目标是:
可移植性:使用libevent编写的程序应该可以在libevent支持的所有平台上工作。即使没有好的方式进行非阻塞IO,libevent也应该支持一般的方式,让程序可以在受限
的环境中运行。
速度:libevent尝试使用每个平台上最高速的非阻塞IO实现,并且不引入太多的额外开销。
可扩展性:libevent被设计为程序即使需要上万个活动套接字的时候也可以良好工作。
方便:无论何时,最自然的使用libevent编写程序的方式应该是稳定的、可移植的。
libevent由以下组件构成:
evutil:用于抽象不同平台网络实现差异的通用功能。
event和event_base:libevent的核心,为各种平台特定的、基于事件的非阻塞IO后端提供抽象API,让程序可以知道套接字何时已经准备好,可以读或者写,并且处理基
本的超时功能,检测OS信号。
bufferevent:为libevent基于事件的核心提供使用更方便的封装。除了通知程序套接字已经准备好读写之外,还让程序可以请求缓冲的读写操作,可以知道何时IO已经真
正发生。(bufferevent接口有多个后端,可以采用系统能够提供的更快的非阻塞IO方式,如Windows中的IOCP。)
evbuffer:在bufferevent层之下实现了缓冲功能,并且提供了方便有效的访问函数。
evhttp:一个简单的HTTP客户端/服务器实现。
evdns:一个简单的DNS客户端/服务器实现。
evrpc:一个简单的RPC实现。
安装libevent库:
注意:必须以root用户身份执行以下操作
1、下载源码包
https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
2、解压
tar zxvf libevent-2.0.21-stable.tar.gz
3、配置安装路径
cd libevent-2.0.21-stable
./configure -prefix=/usr
4、编译并安装
make
make install
5、测试libevent是否安装成功:
#ls -al /usr/lib | grep libevent
6、如果编译后的程序提示找不到libvent的so,则创建库的链接和缓存文件
ldconfig
- Linux企业级开发技术(5)——libevent企业级开发之简介
- Linux企业级开发技术(7)——libevent企业级开发之锁和线程
- Linux企业级开发技术(1)——epoll企业级开发之简介
- Linux企业级开发技术(6)——libevent企业级开发之内存管理
- Linux企业级开发技术(2)——epoll企业级开发之epoll接口
- Linux企业级开发技术(3)——epoll企业级开发之epoll模型
- Linux企业级开发技术(4)——epoll企业级开发之epoll例程
- 干货分享—Java EE企业级应用开发技术路线图
- spring2.5企业级开发
- 企业级应用vs企业级开发
- 企业级应用vs企业级开发
- Angular企业级开发(1)-AngularJS简介
- Flex技术在企业级开发中的应用(转)
- 企业级应用程序开发的技术概览
- Java企业级开发:Spring 技术内幕 学习
- Java企业级开发技术大作业
- Android数据绑定技术一,企业级开发
- Android数据绑定技术二,企业级开发
- Leetcode-Reorder List
- android之字体阴影效果
- python版简易贪吃蛇
- Android 输入法问题 解决三星s5830i或华为低端机输入法崩溃问题
- linux查看和关闭后台执行程序
- Linux企业级开发技术(5)——libevent企业级开发之简介
- 数据结构之单链表(参考并整理严蔚蓝数据结构)
- 深圳2015届百度校招
- oninput事件、onchange事件和onpropertychange事件
- STL---hash_map
- UIImageView【转】
- Linux卸载MySQL
- jQuery如何动态获取其他div中的内容
- 如何使用DISM命令整合驱动文件到win7x64系统ISO镜像中