libevent简介

libevent是一个事件驱动的网络库,支持跨平台,如Linux, *BSD, MacOS X, Solaris, Windows。支持I/O多路复用,epoll、poll、/dev/poll、select、kqueue等。

libevnet额外提供了一个缓冲网络I/O的高级框架,支持sockets, filters,rate-limiting, zero-copy file transmission, SSL和 IOCP。libevent还支持DNS,HTTP,RPC。

libevnet使用C语言编写,事件框架是典型的Reactor模式,支持I/O、定时器、信号事件。作为底层的网络库被广泛使用,如memcached。

Libevent构成

libevent由以下组件构成:

Evutil:用于抽象不同平台网络实现差异的通用功能。

Event:封装了fd,signal,事件处理函数。

Event_Base:管理所有的event。

Bufferevent:为Libevent基于事件的核心提供更方便的封装。

Evbuffer:在Bufferevent下层实现缓冲功能。

Evhttp:简单的http客户端、服务器。

Evdns:简单的DNS客户端、服务器。

Evrpc:简单的RPC。

libevent简介 构成的更多相关文章

  1. libevent简介

    一.参考资料 1.ubuntu下安装libevent 2.libevent实现TCP 服务端

  2. [转]libevent简介和使用

    libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库. 总体来说,libevent有下面一些特点和优势:* 事件驱动,高性能:* 轻量级,专注于网络: * 跨平 ...

  3. libevent简介和使用【转】

    转自:http://www.open-open.com/lib/view/open1386510630330.html libevent是一个基于事件触发的网络库,memcached底层也是使用lib ...

  4. Libevent教程001: 简介与配置

    本文内容大致翻译自 libevent-book, 但不是照本翻译. 成文时, libevent最新的稳定版为 2.1.8 stable. 即本文如无特殊说明, 所有描述均以 2.1.8 stable ...

  5. 【传智播客】Libevent学习笔记(一):简介和安装

    目录 00. 目录 01. libevent简介 02. Libevent的好处 03. Libevent的安装和测试 04. Libevent成功案例 00. 目录 @ 01. libevent简介 ...

  6. libevent源码深度剖析

    原文地址: http://blog.csdn.net/sparkliang/article/details/4957667 第一章 1,前言 Libevent是一个轻量级的开源高性能网络库,使用者众多 ...

  7. 以libevent网络库为引:网络通信和多线程

    1. windows下编译及使用libevent  http://www.cnblogs.com/luxiaoxun/p/3603399.html 2.  <<libevent学习资料&g ...

  8. libevent的入门学习-库的安装【转】

    转自:https://blog.csdn.net/lookintosky/article/details/61658067 libevent的入门学习-库的安装最近开始接触Linux应用层的东西,发现 ...

  9. libevent(了解)

    1 前言 Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少.写这一系列文章的用意在于,一则分享心得:二则对libevent代码和设计思想做系统的.更深层次的分析, ...

随机推荐

  1. 关于SVN更新时文件加锁的小结

    今天使用SVN更新应用,出现了下面的问题: update D:/workspace/acode/resource/springconf -r 6622 --force    Attempted to ...

  2. mybatis-generator 代码自动生成工具

    今天来介绍下怎么用mybatis-gennerator插件自动生成mybatis所需要的dao.bean.mapper xml文件,这样我们可以节省一部分精力,把精力放在业务逻辑上. 之前看过很多文章 ...

  3. 洛谷P1631 序列合并

    P1631 序列合并 236通过 657提交 题目提供者xmyzwls 标签堆 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 为什么不行? 题目描述 有两个长度都是N的序列A和B,在A和B中 ...

  4. 分层服务提供者(LSP)

    分层服务提供者(LSP)(1) 开发过滤数据包的LSP程序可以定义过滤规则,恩,先看看LSP本身是DLL,可以将它安装至Winsock目录,创建套接字的应用程序不必知道此LSP的任何信息就能调用它 1 ...

  5. js实现页面悬浮框

    当滚动条下拉时,悬浮框位置不变,主要是 position:fixed;样式的作用. 当下拉到一定程度,接近footer时,我用js控制div消失,往上拉滚动条时又显示. <!DOCTYPE ht ...

  6. JS 和 CSS 的位置对其他资源加载顺序的影响

    JS 和 CSS 在页面中的位置,会影响其他资源(指 img 等非 js 和 css 资源)的加载顺序,究其原因,有三个值得注意的点: JS 有可能会修改 DOM. 典型的,可能会有 document ...

  7. Completely change MACE timestamps?

    Hi, One of my friends Sandy asked me about the possibility of completely change MACE timestamps. As ...

  8. vs2012 快捷键修改

    打开:工具-->选项 搜索:剪切行 移除原有的 Crtl+L 命令 改为:Ctrl+D

  9. 必须会的SQL语句(四)删除和更新

    1.删除   1)删除记录   Delete from 表名 where id ='xx'   2)删除所有数据,并回归初始化标识字段.   Truncate table 表名   3)delete与 ...

  10. JavaScript高级 函数表达式 《JavaScript高级程序设计(第三版)》

    函数表达式的特征 使用函数实现递归 使用闭包定义私有变量 前面我们说到定义函数有两种方式:函数声明.函数表达式. 两者的区别在于函数声明提升,前者在执行之前的上下文环境中直接被赋值,而后者不会. 一. ...