当前位置: 首页 > 编程日记 > 正文

【libevent】libevent库学习总结(二)——编程步骤

一、libevent编程步骤

0、分配并初始化event_base,两种方法

0.1 event_base_new:线程安全,代替event_init;
0.2 event_init:线程不安全,不推荐使用,仅仅是为了向后兼容

1、创建event,设置event的回调函数,加入event_base,两种方法

1.1 event_new:函数内部分配event,并加入参数指定的event_base中;
1.2 event_set + event_base_set:函数外创建好event,作为参数传给event_set中current_base(一个全局event_base),然后通过event_base_set来将current_base改为参数指定的event_base

2、将事件添加到待处理事件集合中

event_add

3、开始事件循环,两种方法

event_base_dispatch或event_base_loop;
event_base_dispatch是对event_base_loop的简单封装

4、IO缓冲的使用

4.1 在开始事件循环之前,创建bufferevent,加入event_base中,并设置读写超时
bufferevent_new —>bufferevent_base_set —>bufferevent_settimeout
4.2 在使用bufferevent_new创建bufferevent的同时,指定回调函数,一般在回调函数中使用bufferevent_read和bufferevent_write
4.3 在上述“1、”的回调函数中,设置缓冲区读写时使用到的文件描述符,并使能
bufferevent_setfd —> bufferevent_enable

二、流程图

这里写图片描述

相关文章:

HP交换机配置命令

1.命名hostname 7-West-4F-2510 2.设置管理IPvlan 1ip address 192.168.41.123 255.255.255.03.修改支持的默认vlan数max-vlans 64max-vlans //修改vlan的数量,默认只有8个,修改后需重启后才可生效4.重启reload //重启交换机5.配置v…

【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed

【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed 错误打印信息 Starting E:*exe… 程序异常结束。 E:*.exe crashed. 原因 使用到外部库,编译时,指定了库连接,但是在程序运行时找不到库&#xf…

近900000条if-then关系图谱,让神经网络“懂”常识推理

编译整理 | 一一出品 | AI科技大本营(ID:rgznai100)“神经网络能学习日常事件的常识推理吗?能,如果在 ATOMIC 上训练的话。”ATOMIC(原子) 是一个机器常识图集,一个用自然语言建立的 870, 000 个…

weex 阶段总结

新年伊始,回顾过去的一年,收获很多,之前一直在研究weex,说心里话感觉心好累,官方文档不全,社区不活跃,遇到很多坑,官方发布的版本有时都有坑,搞得我都不敢更新版本了。 但…

DOS批处理高级教程精选(六)

为什么80%的码农都做不了架构师?>>> 第五章 set命令详解 很久没发贴了,今天来写点讲BAT的新手教学贴! 在上一贴中我简单的介绍了一下SET设置自定义变量的作用,现在我来具体讲一下set的其他功能. 一、用set命令设置自定义变量 显示、设置或删除 cmd.exe …

8.11. Migrating MySQL Data into Elasticsearch using logstash

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html 8.11.1. 安装 logstash 安装 JDBC 驱动 和 Logstash curl -s https://raw.githubusercontent.com/oscm/shell/master/database/mysql/5.7/mysql-connector-java.sh | bash curl -s https://ra…

佩奇扑街、外星人疯狂!Python 告诉你大年初二应该看哪部电影

作者 | 罗昭成责编 | 唐小引转载自 CSDN资讯(ID:CSDNnews)引言2019 年 1 月,《啥是佩奇》短片在互联网快速传播,各大社交平台形成刷屏之势。不到 24 小时,官博发出的视频已经收获 2800 万次观看&#xff0c…

【POCO】POCO学习总结(二)——配置选择

使用方法: configure {options} options总结 –help&#xff1a;打印帮助 –config< config_name> 使用给定配置&#xff0c;在poco-1.7.8p3-all/build/config目录下&#xff0c;可以在对应的配置文件中修改编译工具的路径和名字&#xff0c;编译时的选项等。 AIX Darw…

告别排队!用Python定时自动挂号和快捷查询化验报告

作者 | 阿文来源 | 程序人生&#xff08;ID: coder_life&#xff09;我什么要做这个事情去年单位体检查出问题来&#xff0c;经过穿刺手术确诊是个慢性肾脏病2期&#xff0c; IGA 肾病三期&#xff0c;可能大家对于这个病并不是很了解&#xff0c;但是另外一个词可能大家都听过…

【POCO】POCO学习总结(三)——交叉编译

最小功能编译 编译选项&#xff1a;–minimal &#xff1a;只构建XML, JSON, 工具 and 网络 1 修改配置文件 $ vi poco-1.7.8p3-all/build/config/ARM-Linux13 LINKMODE ? SHARED 14 TOOL ? arm-linux 15 POCO_TARGET_OSNAME Linux 16 POCO_TARGET_OSARCH ? armv7l 主要…

转:入侵网站必备-sql server

来源&#xff1a;http://www.bitscn.com/plus/view.php?aid28692 1.判断有无注入点 ; and 11 and 12 2.猜表一般的表的名称无非是admin adminuser user pass password 等.. and 0(select count(*) from *) and 0(select count(*) from admin) ---判断是否存在admin这张表 3.猜…

27.5. PROCEDURE ANALYSE()

数据列优化 SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]]) 原文出处&#xff1a;Netkiller 系列 手札 本文作者&#xff1a;陈景峯 转载请与作者联系&#xff0c;同时请务必标明文章原始出处和作者信息及本声明。

Linux 日志管理(RHEL7)

日志管理系统和程序的日记本记录系统,程序运行中发生的各种事件通过查看日志,了解及排除故障信息安全控制的依据 内核及系统日志由系统服务rsyslog统一记录/管理日志消息采用文本格式主要记录事件发生的时间,主机,进程,内容常见的日志文件 /var/log/messages 记录内核消息…

汇聚6年思想变迁:知识图谱报告幻灯片大全

本文汇总了中文知识图谱计算会议CCKS报告合集&#xff0c;涵盖从2013年至2018年&#xff0c;共48篇&#xff0c;从中可以看出从Google 2012年推出知识图谱以来&#xff0c;中国学术界及工业界这6年来知识图谱的主流思想变迁。作者 | 刘焕勇来源 | CSDN博客编辑 | apddd项目介绍…

【POCO】POCO学习总结(四)——MinGW编译poco

在window下使用MinGW编译poco 使用MSYS 下载MSYS 官网介绍&#xff1a;http://www.mingw.org/wiki/Getting_Started 官网下载&#xff1a;https://jaist.dl.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe 安装 运行mingw-get-setup.exe&#xff0c;只选择…

辞职之后的思考--激励

本人曾拿过多次奖金&#xff0c;也曾与很多同事沟通过拿奖金的感觉&#xff0c;引发一些思考&#xff0c;这其实也是希望在以后有机会给别人发奖金时做参考之用。   并不是所有人都会有奖金&#xff0c;所以如果我没有奖金其实也没有什么关系&#xff0c;但是&#xff0c;我非…

【linux】串口编程(一)——配置串口

目前遇到的串口编程都是用于通信&#xff0c;很少作为终端显示。以前没有对串口编程做深入研究&#xff0c;本次以libmodbus源码中对串口的设置为例&#xff0c;详解总结串口编程时配置的属性&#xff08;struct termios&#xff09; 以libmodbus中_modbus_rtu_connect函数为例…

Playboy封面女郎、互联网第一夫人,程序员们的“钢铁审美”

整理 | 琥珀 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 46 年前&#xff0c;《花花公子》&#xff08;Playboy&#xff09;的一期杂志封面女郎 Lenna&#xff0c;成为数万“钢铁直男”的梦中女神。然而&#xff0c;这位女性更为人所知的是她在计算机图像处理领…

开源实时日志分析ELK

开源实时日志分析ELK 2018-01-04 转自&#xff1a;开源实时日志分析ELK平台部署 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷&#xff0c;性…

【linux】串口编程(二)——非阻塞接收

项目中很少会使用阻塞接收&#xff0c;一般都是selectread监听模式来实现非阻塞接收。 使用selece时&#xff0c;需要处理一些异常情况的返回&#xff0c;比如&#xff1a;系统中断产生EINTR错误&#xff1b;超时错误ETIMEDOUT。 使用read时&#xff0c;需要处理读取时可能出现…

使用Photoshop制作网页模板

用图层组管理网页元素首先是在Photoshop中制作好网页的框架。网页中的元素有很多&#xff0c; 像Banner条、文本框、文字、版权、Logo、广告等。尽量把这些相对独立的元素放在不同的图层中&#xff0c;这样方便以后的再编辑。不过图层一多&#xff0c;就 显得很凌乱&#xff0c…

赵本山:我的时代还没有结束 | Python告诉你

作者 | 丁彦军来源 | 恋习Python&#xff08;ID: sldata2017&#xff09;【AI科技大本营按】今年春晚的小品好看吗&#xff1f;没有了赵本山的春晚总觉得少了点什么&#xff0c;然而许久不登春晚舞台的本山大叔借着B站的东风证明了「你大爷还是你大爷」。最近很多人被“改革春…

038——VUE中组件之WEB开发中组件使用场景与定义组件的方式

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>组件之WEB开发中组件使用场景与定义组件的方式</title><script src"vue.js"></script> </head> <body> <…

IronPython系列:Composite Pattern及其实现

最近挺经常做鱼的。对于做鱼的步骤算是熟悉。以烤制为例&#xff0c;主要有三步&#xff1a;洗&#xff08;Clean&#xff09;、切&#xff08;Cut&#xff09;和烤&#xff08;Bake&#xff09;。烤鱼&#xff08;Bake&#xff09;又有两个小步&#xff1a;加热(Heat)和烤(Bak…

2019全球AI 100强,中国占独角兽半壁江山,但忧患暗存

整理 | apddd出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;日前&#xff0c;创投研究机构CB Insights发布了年度人工智能企业百强榜单——由100个最具前途的AI公司组成&#xff0c;它们从3000多个候选者中脱颖而出&#xff0c;其业务涵盖人工智能硬件、数据基础设施…

【linux】串口编程(三)——错误处理

一个程序的优劣&#xff0c;可以从多个角度来判断&#xff0c;错误处理就是其中之一。从代码中的错误处理部分&#xff0c;可以体现出一个程序员的水平和修养。 下面还是以libmodbus为例&#xff0c;总结下串口编程中的错误处理。 【1】基础 【1.1】modbus中错误处理有三种&a…

微服务实战之春云与刀客(三)—— 面向接口调用代码结构实例

2019独角兽企业重金招聘Python工程师标准>>> 概述 在上一篇中提到了spring cloud 面向接口调用的开发风格&#xff0c;这一篇会举一个简单的但完整的例子来说明整个代码结构。 代码已上传到 https://github.com/maruixiang/spring-cloud-demo/tree/master/demo1 代码…

如何创建复杂的机器学习项目?

翻译 | 光城责编 | 郭芮转载自CSDN&#xff08;CSDNnews&#xff09;scikit-learn提供最先进的机器学习算法。但是&#xff0c;这些算法不能直接用于原始数据。原始数据需要事先进行预处理。因此&#xff0c;除了机器学习算法之外&#xff0c;scikit-learn还提供了一套预处理方…

关闭vmware喇叭报警声

关闭vmware喇叭报警声 在vmware里面安装linux系统后&#xff0c;操作时经常使用tab键或使用VI时经常听到pc speaker突然叫一声&#xff0c;如果正当戴着耳机欣赏音乐&#xff0c;被这么一叫还要吓一跳。下面是解决办法&#xff1a;C:\Documents and Settings\All Users\Applica…

【ubuntu工具】Atom的简介及安装

Atom中文社区&#xff1a;https://atom-china.org/ 知乎atom&#xff1a;https://www.zhihu.com/question/22867204 Atom&#xff0c;是github用nodejs编写的一个编辑器 Atom安装步骤&#xff1a; sudo add-apt-repository ppa:webupd8team/atomsudo aptitude updatesudo a…