libevent 学习笔记 一

    xiaoxiao2021-03-25  50

    

    一:Libevent 简介:

    Libevent 是一个用C语言编写的、轻量级的开源高性能网络库。

    主要有以下几个亮点:

    事件驱动( event-driven

    高性能;轻量级

    专注于网络

    源代码相当精炼、易读;

    跨平台,支持 WindowsLinux *BSD Mac Os

    支持多种 I/O 多路复用技术,epoll poll dev/poll select kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。

    3:主要组成:

             a)      libevent包括事件管理、缓存管理、DNSHTTP、缓存事件几大部分。事件管理包括各种IOsocket)、定时器、信号等事件;缓存管理是指evbuffer功能;DNSlibevent提供的一个异步DNS查询功能;HTTPlibevent的一个轻量级http实现,包括服务器和客户端。libevent也支持ssl,这对于有安全需求的网络程序非常的重要,但是其支持不是很完善,比如http server的实现就不支持ssl

    简单的来说,libevent就是一个黑匣子,支持事件I/O (对系统接口的再次封装)。定时器以及信号事件。当需要某一时间去处理某一件事情的时候,只需给出时间处理函数,当事件到达的时候libevent会自动调用设置好的函数就行去处理。

    简单模型如下:

     

                                                                               1

            

             后续会继续介绍最基本的定时器、I/O事件以及信号事件处理流程。推荐一个博客:

    http://blog.csdn.net/sparkliang/article/details/4957744

    转载请注明原文地址: https://ju.6miu.com/read-36199.html

    最新回复(0)