
网络/libevent
文章平均质量分 81
imxiangzi
这个作者很懒,什么都没留下…
展开
-
libevent代码例子----定时器
libevent最简单的一个小例子:定时器的使用#include #include #include #include // 定时事件回调函数 void onTime(int sock, short event, void *arg) { printf("Hello,World!\n");转载 2016-08-08 16:04:24 · 796 阅读 · 0 评论 -
处理大并发之五 使用libevent利器bufferevent
处理大并发之五 使用libevent利器bufferevent 首先来翻译一段文章 你可能注意到随着我们代码变得越来越高效,程序也变得更加复杂。当我们产生一个进程的时候,我们没有必要为每一个链接管理一个buffer,我们只需要每个处理独立栈分配缓冲区就可以了。在读和写的时候,我们不必明确的跟踪每一个socket,这在我们的代码里是一个暗示,我们没有必要定转载 2016-09-15 18:50:18 · 725 阅读 · 0 评论 -
处理大并发之四 libevent demo详细分析(对比epoll)
处理大并发之四 libevent demo详细分析(对比epoll)libevent默认情况下是单线程,每个线程有且仅有一个event_base,对应一个struct event_base结构体,以及赋予其上的事件管理器,用来安排托管给它的一系列的事件。当有一个事件发生的时候,event_base会在合适的时间去调用绑定在这个事件上的函数,直到这个函数执行完成,然后在返回安排其他事件。转载 2016-09-15 18:48:55 · 613 阅读 · 0 评论 -
处理大并发之三 对libevent的初步认识
处理大并发之三 对libevent的初步认识首先翻译下http://www.wangafu.net/~nickm/libevent-book/01_intro.html里的一段文章对异步IO的一个简要介绍大多数应用程序都是阻塞的IO调用,如果IO调用是同步(阻塞)的,它不能立即返回直到它的操作完成,或者经过了很长时间直到网络栈丢弃。当你在一个TCP连接上调用”connect()”时,例转载 2016-09-15 18:47:30 · 662 阅读 · 0 评论 -
处理大并发之二 对epoll的理解,epoll客户端服务端代码
处理大并发之二对epoll的理解,epoll客户端服务端代码序言:该博客是一系列的博客,首先从最基础的epoll说起,然后研究libevent源码及使用方法,最后研究nginx和node.js,关于select,poll这里不做说明,只说明其相对于epoll的不足,其实select和poll我也没用过,因为我选择了epoll。说起epoll,做过大并发的估计都不陌生,之前做了个转载 2016-09-15 18:46:51 · 1353 阅读 · 0 评论 -
处理大并发之一 对异步非阻塞的理解
处理大并发之一 对异步非阻塞的理解 在研究nginx和node.js的时候常会遇到异步、非阻塞等,之前自己也经常使用epoll,对其同步与阻塞,异步与非阻塞有了一定的认识,现对参考资料总结下。 首先讨论下使用事件驱动,异步编程的优点: 充分利用了系统资源,执行代码无须阻塞等待某种操作完成,有限的资源可以用于其他的任务。其非常适合于后端的网络服务编程。 在转载 2016-09-15 18:46:12 · 646 阅读 · 0 评论 -
使用libevent编写高并发HTTP server
libevent库使得高并发响应HTTP Server的编写变得很容易。整个过程包括如下几部:初始化,创建HTTP Server, 指定callback, 进入事件循环。另外在回调函数中,可以获取客户端请求(request的HTTP Header和参数等),进行响应的处理,再将结果发送给客户端(response的HTTP Header和内容,如html代码)。libevent除了设置gener转载 2016-09-15 18:27:00 · 1729 阅读 · 0 评论 -
基于libevent的多线程通信框架实现
很久没有写博客了,这半年多时间一直很忙,一直没有更新博客,今天心血来潮准备做一篇,刚好把最近的新研究东西拿出来给大家分享一下!自己以前的一个后台程序框架(应用于了很多应用项目,运营商***拦截系统,国内某视频聊天应用的后台系统等),里面的网络部分基于ACE来实现的,最近准备淘汰ACE,大部分组件功能打算重写,所以基于网络这块打算用libevent来实现,在做的过程中发现了一些问题,就是能找到的例子转载 2016-08-08 16:28:49 · 2521 阅读 · 0 评论 -
高性能、高并发TCP服务器(多线程调用libevent)
本文讲述的TCP服务器是模仿memcache中的TCP网络处理框架,其中是基于libevent网络库的。主线程只处理监听客户端的连接请求,并将请求平均分配给子线程。子线程处理与客户端的连接以及相关业务。每个子线程有一个“连接”队列。每个“连接”有一个“反馈”队列。 先上个流程图,要上班了,以后再解释。代码以后再上··· 代码:http://download.转载 2016-08-08 16:29:32 · 3029 阅读 · 0 评论 -
libevent带负载均衡的多线程使用示例
功能:主线程根据负载工作线程负载均衡算法,每隔一秒钟向特定的工作线程发送一条字符串信息,工作线程简单的把字符串信息打开出来。Makefileeventtest : eventtest.cgcc -Wall -g -levent -lpthread -o eventtest eventtest.c.PHONY : cleanclean :r转载 2016-08-08 16:27:07 · 1334 阅读 · 0 评论 -
libevent例子--HTTP 服务器
使用内置的 HTTP 服务器如果希望构建本机应用程序,可以使用一般的基于网络的 libevent 接口;但是,越来越常见的场景是开发基于 HTTP 协议的应用程序,以及装载或动态地重新装载信息的网页。如果使用任何 AJAX 库,客户端就需要 HTTP,即使您返回的信息是 XML 或 JSON。libevent 中的 HTTP 实现并不是 Apache HTTP 服务器的替代品,而是适用转载 2016-08-08 16:26:34 · 1591 阅读 · 0 评论 -
libevent代码例子---- echo server
清单 2 给出一个更完整的示例,它构建一个非常简单的回显服务器:清单 2. 构建简单的回显服务器#include #include #include #include #include #include #include #include #include #include #define SERVER_PORT 8080int debug = 0;st转载 2016-08-08 16:21:26 · 621 阅读 · 0 评论 -
Libevent使用例子,从简单到复杂
转载请注明出处:http://blog.youkuaiyun.com/luotuo44/article/details/39670221 本文从简单到复杂,展示如何使用libevent。网上的许多例子都是只有服务器端的,本文里面客户端和服务器端都有,以飨读者。 关于libevent编程时的一些疑问可以阅读《libevent编程疑难解答》。假如读者还想了解li转载 2016-08-08 16:17:21 · 757 阅读 · 0 评论 -
libevent多线程使用事项
在linux平台上使用c开发网络程序的同志们一般情况下都对鼎鼎大名的libevent非常的熟悉了。但是一些新进入此领域的new new people们对此都是一头雾水。原本的迷茫再加上开源软件一贯的“帮助文件”缺失作风,让我们这些新手们显的非常的无助。幸好有一些热心的朋友们帮忙,才化险为夷啊! 前几天一直在开发一个locker server,虽然公司现有的locker server能很好转载 2016-09-15 20:33:48 · 3095 阅读 · 0 评论