- 浏览: 153465 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
lyaqys:
lz实现的OptimisticExclusiveLock有点问 ...
java park/unpark 【java并发】基于JUC CAS原理,自己实现简单独占锁
1 #include <sys/types.h>
2 #include <sys/time.h>
3 #include <sys/queue.h>
4 #include <stdlib.h>
5 #include <err.h>
6 #include <event.h>
7 #include <evhttp.h>
8
9 void generic_handler(struct evhttp_request *req, void *arg)
10 {
11 struct evbuffer *buf;
12 buf = evbuffer_new();
13
14 if (buf == NULL)
15 err(1, "failed to create response buffer");
16
17 evbuffer_add_printf(buf, "Requested: %s", evhttp_request_uri(req));
18 evhttp_send_reply(req, HTTP_OK, "OK", buf);
19
20 evbuffer_free(buf);
21 }
22
23 int main(int argc, char **argv)
24 {
25 struct evhttp *httpd;
26 event_init();
27 httpd = evhttp_start("0.0.0.0", 8080);
28
29 /* Set a callback for requests to "/specific". */
30 /* evhttp_set_cb(httpd, "/specific", another_handler, NULL); */
31
32 /* Set a callback for all other requests. */
33 evhttp_set_gencb(httpd, generic_handler, NULL);
34
35 event_dispatch();
36
37 /* Not reached in this code as it is now. */
38 evhttp_free(httpd);
39 return 0;
40 }
gcc s_http.c -levent
2 #include <sys/time.h>
3 #include <sys/queue.h>
4 #include <stdlib.h>
5 #include <err.h>
6 #include <event.h>
7 #include <evhttp.h>
8
9 void generic_handler(struct evhttp_request *req, void *arg)
10 {
11 struct evbuffer *buf;
12 buf = evbuffer_new();
13
14 if (buf == NULL)
15 err(1, "failed to create response buffer");
16
17 evbuffer_add_printf(buf, "Requested: %s", evhttp_request_uri(req));
18 evhttp_send_reply(req, HTTP_OK, "OK", buf);
19
20 evbuffer_free(buf);
21 }
22
23 int main(int argc, char **argv)
24 {
25 struct evhttp *httpd;
26 event_init();
27 httpd = evhttp_start("0.0.0.0", 8080);
28
29 /* Set a callback for requests to "/specific". */
30 /* evhttp_set_cb(httpd, "/specific", another_handler, NULL); */
31
32 /* Set a callback for all other requests. */
33 evhttp_set_gencb(httpd, generic_handler, NULL);
34
35 event_dispatch();
36
37 /* Not reached in this code as it is now. */
38 evhttp_free(httpd);
39 return 0;
40 }
gcc s_http.c -levent
发表评论
-
gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数
2013-07-22 22:45 901我们用gcc编译程序时,可能会用到“-I”(大写i),“-L” ... -
有一些桃子,一只猴子,每天吃1/2+1个桃子,6天吃完
2013-07-07 20:42 11401 #include<stdio.h> 2 ... -
atoi源码
2013-05-14 19:32 1261原文: http://blog.csdn.net/eroswa ... -
为重负网络优化 Nginx 和 Node.js
2013-05-13 01:12 1004原文:http://linux.cn/forum.php?mo ... -
sphinx 遇见的问题
2013-04-16 14:54 10201>>index 'xxx': search er ... -
mysql 下载地址
2013-04-11 11:25 611http://mysql.ntu.edu.tw/Downloa ... -
sphinx 安装
2013-04-10 19:54 536[@zw-76-80 soft]$ rpm -ivh MySQ ... -
socket参数详解:KeepAlive
2013-03-19 13:24 1209TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会 ... -
ehcache分布式例子
2013-03-19 11:52 629配置文件: recluster_ehcache_0.xml ... -
tinyxml 实例
2013-02-28 15:00 657tinyxml 实例 例子见附件 -
git 使用
2013-01-23 18:24 585git status 查看文件的状态 git add src/ ... -
ehchahe 例子
2013-01-23 15:40 1009package test; import net.sf.eh ... -
url
2012-12-23 11:25 573http://labs.gree.jp/Top/OpenSou ... -
common-pool
2012-12-11 19:09 798package com.open.sorce.common; ... -
pingying4j汉字转换拼音
2012-12-07 11:19 2055package com.open.sorce.pingying ... -
apache.commons工具例子
2012-12-04 10:40 678import org.apache.commons.lang. ... -
apache.commons工具
2012-12-03 10:22 1043本文主要介绍自己在开发过程中总结的一些Java工具类,主要包括 ... -
guava-map
2012-11-29 11:38 815------------------------------- ... -
Jsoup
2012-11-21 17:28 998官网:http://jsoup.org/ jsoup 是一款 ...
相关推荐
在本案例中,我们将探讨如何使用libevent在VS2019环境下,结合Qt5.15.2,搭建一个简单的HTTP服务器,实现在本地目录中的文件下载服务。 首先,我们得了解libevent的核心概念。libevent提供了一个事件基础架构,用于...
本篇将深入探讨如何利用libEvent库在C++中实现HTTP的POST和GET请求。 首先,理解HTTP的基本概念至关重要。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于客户端和服务器之间的通信。GET和POST是...
描述中提到的“libevent 多线程 HTTP post服务器”表明这是一个利用libevent库开发的服务端程序,该程序能够接收并处理来自客户端的HTTP POST请求,并且采用了多线程技术以实现并发处理,提升系统性能。这通常意味着...
这是一个使用libevent实现的web服务器,客户端采用CInternetSession来实现的,是一个完整的可用的例子,项目采用cmake来管理。提供给大家参考,有问题可以邮件给buptxu@qq.com,多谢。
从提供的压缩包文件名称列表中,我们可以推断这是一个基于libevent实现的HTTP服务端项目。其中: - `WIN32-Code`可能包含了针对Windows平台的源代码。 - `Debug`是调试版本的输出目录,通常包含编译后的可执行文件...
在本文中,我们将深入探讨如何使用libevent库在C++环境下构建一个HTTP服务器,并在Visual Studio(VS)项目工程中实现这一目标。libevent是一个事件通知库,它可以帮助开发者高效地处理网络事件,如TCP连接、UDP...
linux下使用libevent实现断网重连的tcp客户端,自动检测tcp连接断开,断开后能自动重连;如果连不上服务器,则一直尝试连接服务器,直至连接成功。
"VS2003使用libevent库实现的httpd范例工程" 指的是一个使用Visual Studio 2003(VS2003)开发的项目,该项目集成并应用了libevent库来构建一个简单的HTTP服务器。libevent是一个开源的事件通知库,它允许程序员在多...
evhttp-http-proxy 通过 libevent 实现的 HTTP 代理请注意,需要 libevent-streaming,即 libevent 的扩展。 您可以忽略“pcmm”相关代码。
在这个项目中,我们实现了一个基于libevent的简单服务器和客户端,它们能够互相发送数据,这对于理解libevent的工作原理及其在网络编程中的应用至关重要。 ### 1. libevent简介 libevent的核心功能是提供一个抽象...
7. **evrpc**:一个简易的远程过程调用(RPC)框架,简化了远程服务调用的实现过程。 #### 三、库安装与使用 **libevent**在默认情况下安装了几个关键的库: 1. **libevent_core**:包含了所有基础的核心功能,如...
5. evhttp: 是一个简单的HTTP客户端/服务器实现,使开发HTTP服务变得更加容易。 6. evdns: 为DNS查询提供简单的客户端/服务器实现,简化了网络应用中的域名解析。 7. evrpc: 提供了简单的RPC(远程过程调用)实现...
5. **项目结构**:“MulticsHTTP-master”这个项目名称可能表明了源代码的组织结构,其中可能包含了三个不同的子目录或文件,分别对应了多线程、epoll和libevent实现的HTTP服务器程序。每个实现可能包括了网络连接的...
2. **阅读源码**:通过阅读源码,可以深入理解Libevent如何实现事件调度和事件处理,这对于优化和定制Libevent非常有帮助。 3. **编写示例程序**:实践是最好的老师,通过编写简单的客户端和服务器程序,可以更好地...
4. HTTP服务器:Libevent包含了一个简单的HTTP服务器框架,方便开发者构建自己的HTTP服务。 三、Libevent的API使用 1. event_new():创建一个新的事件,需要指定事件类型(读、写、信号等)、文件描述符、回调函数...
6. **HTTP服务器**:libevent自带了一个简单的HTTP服务器模块,可以用来快速搭建轻量级的HTTP服务,便于开发和测试。 7. **协议支持**:libevent不仅限于TCP和UDP,还支持其他协议如DNS、HTTP等,通过libevent,...
6. **源码解析**:深入阅读libevent的源码,可以理解其内部实现细节,如事件调度算法、多线程支持和异步I/O处理等。 7. **性能优化**:libevent提供了很多配置选项来优化性能,例如选择合适的事件模型、使用多线程...
通过深入理解和使用libevent源码,开发者可以更好地定制自己的网络应用,实现高效、稳定的服务。 总结,libevent是一个强大的工具,它提供了事件驱动的编程模型,适用于处理大量并发连接。通过理解并熟练运用...
例如,一个简单的HTTP服务器可以使用libevent监听TCP连接,接收请求,然后调用相应的处理函数。 总结,libevent-2.1.4-alpha是libevent库的一个重要版本,它提供了强大的事件驱动机制和跨平台支持。通过理解和掌握...
1. **HTTP/HTTPS服务器**:利用libevent构建HTTP/HTTPS服务器,可以高效地处理客户端的请求。它能监听多个套接字,当有新的连接到来时,libevent会自动分配事件处理回调,将连接处理任务分发到适当的线程或工作队列...