欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > libevent入门篇

libevent入门篇

2024/10/24 8:22:19 来源:https://blog.csdn.net/Vjunjun/article/details/140712311  浏览:    关键词:libevent入门篇

文章目录

  • 概述
    • 下载
    • 编译
    • 目录
      • sample
      • hello-world
        • 初始化
        • 创建监听器
        • 处理连接
        • 处理信号
      • build
  • 小结

概述

libevent 和 libev 都是由 c 实现的异步事件库;注册异步事件,检测异步事件,根据事件的触发先
后顺序,调用相对应回调函数处理事件;
处理的事件包括:网络 io 事件、定时事件以及信号事件;
libevent 和 libev 主要封装了异步事件库与操作系统的交互;让用户无需关注平台检测处理事件的
机制的差异,只需关注事件的具体处理;

下载

下载

上边是使用git下载流程。没安装git的,建议安装。

编译

编译
我是在linux服务器上编译的,用的这种方式,用其他平台的,可以参考git上windows上的即可;如下图:
windows

目录

编译后的目录,如下图:
编译后的目录
这么多文件,怎么看呢?

sample

一般来说,看到一个开源项目,首先去看看demo;对于libevent来说,sample下面就是它的demo文件。如下图:
sample下的文件

hello-world

简单点,看一个代码或者写一个程序,都是从"hello,world"开始,接下来看看hello-world.c。
对于一个简单的tcp服务器,一般都有初始化,创建监听器,处理连接,发送消息,处理信号。

初始化

初始化

创建监听器

创建监听器

处理连接

处理连接

处理信号

信号函数
处理函数
这个设置了一个信号事件,用于在接到SIGINT信号时优雅的突出。当接收到这个信号时,程序会等待两秒钟后再退出,以确保所有的事件都被处理完毕。

build

build
找到这个目录,可以看到编译后的文件。可以执行linux下的文件执行,即可。
hello-world执行
按下ctrl+c看看,
ctrl+c
其他的,就没了 。

小结

这篇主要写了libevent这个开源库,下载,编译,以及用hello-world.c入门。好了,入门就写到这了。有兴趣,一起学习学习。OK,结束。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com