libevent
swartz_lubel
这个作者很懒,什么都没留下…
展开
-
Libevent源码分析-----TAILQ_QUEUE队列
出处: http://blog.csdn.net/luotuo44/article/details/38374009 Libevent源码中有一个queue.h文件,位于compat/sys目录下。该文件里面定义了5个数据结构,其中TAILQ_QUEUE是使得最广泛的。本文就说一下这个数据结构。队列结构体: TAILQ_QUE转载 2017-03-17 15:12:22 · 385 阅读 · 0 评论 -
event_base_loop
函数:int event_base_loop(struct event_base *, int);等待事件被触发,然后调用它们的回调函数。这是 event_base_dispatch的更灵活版本。默认情况下,这个循环会一直运行,直到没有添加的事件,或者直到调用了event_base_loopbreak()或者evenet_base_loopexit().你可以通过flags参数修改转载 2017-09-22 16:44:57 · 856 阅读 · 0 评论 -
libevent evhttp学习——http服务端
http服务端相对客户端要简单很多,我们仍旧使用libevent-2.1.5版本,服务端接口和2.0版本没有区别基本流程http服务端使用到的借口函数及流程如下创建event_base和evhttpstruct event_base *event_base_new(void);struct evhttp *evhttp_new(struct event_bas转载 2017-09-21 16:35:04 · 937 阅读 · 0 评论 -
libevent evhttp学习——http客户端
基本环境使用版本为libevent-2.1.5,目前为beta版,其中evhttp和旧版区别在于新增了如下接口// 设置回调函数,在包头读取完成后回调void evhttp_request_set_header_cb (struct evhttp_request *, int(*cb)(struct evhttp_request *, void *))// 设置回调函数,在bod转载 2017-09-21 15:56:37 · 2203 阅读 · 0 评论 -
套接字I/O模型-重叠I/O
重叠模型的基本设计原理是让应用程序使用重叠的数据结构,一次投递一个或多个WinsockI/O请求。针对那些提交的请求,在它们完成之后,应用程序可为它们提供服务。模型的总体设计以Windows重叠I/O机制为基础。这个机制可通过ReadFile和WriteFile两个函数,在设备上执行I/O操作。要想在一个套接字上使用重叠I/O模型,首先必须创建一个设置了重叠标志的套接字。主要有两种方法来管转载 2017-07-27 22:10:05 · 579 阅读 · 0 评论 -
IOCP模型与网络编程
IOCP模型与网络编程一。前言: 在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,挺好奇是什么东西来的,又是一个新知识啦~于是,开始去寻找一大堆的资料,为这个了解做准备,只是呢,有时还是想去找一本书去系统地学习一下,转载 2017-07-27 21:56:14 · 350 阅读 · 0 评论 -
处理大并发之四 libevent demo详细分析(对比epoll)
处理大并发之四 libevent demo详细分析(对比epoll)libevent默认情况下是单线程,每个线程有且仅有一个event_base,对应一个struct event_base结构体,以及赋予其上的事件管理器,用来安排托管给它的一系列的事件。当有一个事件发生的时候,event_base会在合适的时间去调用绑定在这个事件上的函数,直到这个函数执行完成,然后在返回安排其他事件。需要转载 2017-07-27 21:24:46 · 1151 阅读 · 0 评论 -
处理大并发之五 使用libevent利器bufferevent
理大并发之五 使用libevent利器bufferevent 首先来翻译一段文章 你可能注意到随着我们代码变得越来越高效,程序也变得更加复杂。当我们产生一个进程的时候,我们没有必要为每一个链接管理一个buffer,我们只需要每个处理独立栈分配缓冲区就可以了。在读和写的时候,我们不必明确的跟踪每一个socket,这在我们的代码里是一个暗示,我们没有必要定义一个转载 2017-07-27 21:03:55 · 464 阅读 · 0 评论 -
Libevent源码分析-----连接监听器evconnlistener
出处:http://blog.csdn.net/luotuo44/article/details/38800363使用evconnlistener: 基于event和event_base已经可以写一个CS模型了。但是对于服务器端来说,仍然需要用户自行调用socket、bind、listen、accept等步骤。这个过程有点繁琐,为此在2.0.2-alpha转载 2017-07-26 23:09:58 · 277 阅读 · 0 评论 -
高性能、高并发TCP服务器(多线程调用libevent)
本文讲述的TCP服务器是模仿memcache中的TCP网络处理框架,其中是基于libevent网络库的。主线程只处理监听客户端的连接请求,并将请求平均分配给子线程。子线程处理与客户端的连接以及相关业务。每个子线程有一个“连接”队列。每个“连接”有一个“反馈”队列。代码下载地址:http://download.csdn.net/download/aillean/7521245转载 2017-07-25 23:23:04 · 812 阅读 · 0 评论 -
修改linevent的4096限制----更多evbuffer操作函数
出处:http://blog.csdn.net/luotuo44/article/details/39325447锁操作: 在前一篇博文可以看到很多函数在操作前都需要对这个evbuffer进行加锁。同event_base不同,如果evbuffer支持锁的话,要显式地调用函数evbuffer_enable_locking。[c转载 2017-08-01 17:02:56 · 876 阅读 · 0 评论 -
libevent的vs2013的源码工程 以及两个demo地址
下载地址:http://download.csdn.net/detail/swartz_lubel/9908191原创 2017-07-23 21:56:03 · 360 阅读 · 0 评论 -
Libevent使用例子,从简单到复杂
出处:http://blog.csdn.net/luotuo44/article/details/39670221 本文从简单到复杂,展示如何使用libevent。网上的许多例子都是只有服务器端的,本文里面客户端和服务器端都有,以飨读者。 关于libevent编程时的一些疑问可以阅读《libevent编程疑难解答》。假如读者还想了解libeven转载 2017-03-18 18:55:43 · 1211 阅读 · 0 评论 -
libevent编程疑难解答
出处:http://blog.csdn.net/luotuo44/article/details/39547391 前段时间阅读了libevent的源码。读毕,之前使用libevent时的一些疑问都已经豁然开朗了。对于libevent源码的分析,可以移步http://blog.csdn.net/luotuo44/article/category/2435521转载 2017-03-18 18:53:14 · 424 阅读 · 0 评论 -
event-config.h指明所在系统的环境
出处: http://blog.csdn.net/luotuo44/article/details/38300965 如果你打开Libevent的一些文件,比如util.h文件。就会发现使用了很多宏定义,并根据一些宏定义而进行条件编译。这些宏定义往往来自event-config.h文件中。 如util.h文件的代码开始处:#ifd转载 2017-03-17 16:29:34 · 963 阅读 · 0 评论 -
Libevent源码分析-----配置event_base
出处: http://blog.csdn.net/luotuo44/article/details/38443569 前面的博文都是讲一些Libevent的一些辅助结构,现在来讲一下关键结构体:event_base。 这里作一个提醒,在阅读Libevent源码时,会经常看到backend这个单词。其直译是“后端”。实际上其指的是Li转载 2017-03-17 15:41:33 · 545 阅读 · 0 评论