libevent可以快速实现一个http服务器evhttp

从张宴的http://blog.s135.com/httpsqs/

看到了libevent可以快速实现一个http服务器。后来又从搜搜evhttp的例子。拿ab测了测,速度还不错。比Nginx模块稍慢。

 

 

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

 

#include <err.h>

#include <event.h>

#include <evhttp.h>

 

void now_handler(struct evhttp_request *req, void *arg)

{

        struct evbuffer *buf;

        buf = evbuffer_new();

 

        if (buf == NULL)

            err(1, "failed to create response buffer");

 

        evbuffer_add_printf(buf, "zlj");

        evhttp_send_reply(req, HTTP_OK, "OK", buf);

}

 

int main(int argc, char **argv)

{

    struct evhttp *httpd;

 

    event_init();

    httpd = evhttp_start("0.0.0.0", 6006);

    if ( httpd == NULL )

    {

        fprintf(stderr, "Start server error: %m\n");

exit(1);

    }

 

    /* Set a callback for requests to "/specific". */

    /* evhttp_set_cb(httpd, "/specific", another_handler, NULL); */

 

    /* Set a callback for all other requests. */

    evhttp_set_gencb(httpd, now_handler, NULL);

 

    event_dispatch();

 

    /* Not reached in this code as it is now. */

    evhttp_free(httpd);

 

    return 0;

}


多组学联合高级Mantel-test热图 对应的是「metabo」中物质间的相关性热图,单元格色块颜色表示相关系数大小,橙色表示+相关,绿色表示-相关;单元格内的数值表示相关性值大小,星号表示显著性。双组学(微生物组/ 转录组/代谢组等两两组合)关联分析,可视化组学特征间的关联显著性、强度及相关方向。表示<trans>与<metabo>中物质的Mantel test结果。表示整体相关的系数,连线颜色表示相关系数的显著性检验结果。宿主-微生物互作、疾病多组学机制、环境-生物多组学关联。为物质名称,不允许存在空值、重复值。 阅读详情

相关推荐

PID不够用?试试给PID加上‘预言’能力:史密斯预测器(SP)在温控、液位控制中的实战配置

本文深入探讨了史密斯预测器(SP)在温控和液位控制中的应用,特别针对大滞后系统的PID控制难题。通过详细解析SP的核心组件、参数整定技巧及进阶应用FSP,结合西门子PLC的实战配置方案,帮助工程师有效提升控制精度和系统稳定性。文章还提供了S7-1200的完整实现步骤和调试技巧,为工业自动化控制提供了实用解决方案。

weixin_33686714的博客 468

用libevent实现httpserver

最近工作中需要实现一些审计功能,软件是服务器端程序,对于展示来说,在浏览器上能直接查看可能是最直接最友好的方式了,libevent中提供了http模块,正好我们的软件也依赖这个,所以决定用它来实现一个httpserver,用来展示相关数据。不多说,直接上代码表示这个工作流程 #include #include #include bool start

被遗忘de角落 5万+

抖音短连接v.douyin.com/xxx 如何生成?

最近公司有个需求,在抖音里如何宣传自己的网站,并且不要有拦截域名的提示,截图如下。 通过ida反编译抖音的app后,将下载后的ipa文件用解压缩软件(如7zip等)解压,从解压后的目录Payload/Aweme.app/找到Aweme可执行文件,拖入ida进行反编译,ida可以检测objective-c语法。 然后进入主题,既然是聊天发消息,就尝试在ida里搜索"message",看看能否找到对...

kakuapi的博客 3万+

网络编程之http服务器(C/C++)(基于libevent实现)

基于libevent实现一个http服务端服务。

zhoubiaodi的博客 2964

【AI智能体】QClaw 对接GitHub处理自动化任务实战操作详解

QClaw 对接GitHub处理自动化任务实战操作详解

congge 4867

VisionPro 机器视觉案例 之 硬币识别

CogPMAlignTool模板匹配工具 掩模

机器视觉李小白的博客 1892

libevent http server multithread

Libevent是一个轻量级高效的开源高性能网络库,很多公司都基于该网络库进行开发,我之前参与过的几个的项目客户端的网络底层以及服务端的网络库都是基于该网络库的开发,并且取得良好的性能,并未遇到明显的性能瓶颈。我相信很多大公司也是跟我一样做出相同明智的选择。因此,基于该库进行一系列的扩展也是理所当然。前几天我们客户提出了需求,需要服务器提供http服务,以便接受各种http的请求,这种http请求

jisongzdd的博客 3157

库存管理系统项目部署方案(基于jdk17)

不需要安装到服务器,运维本地安装就行,主要是用来编译前端代码的。构建完成后将dist文件夹复制到服务器内。

程序员诚哥 6358

基于libevent的http server

需求:实现http server,提供rest接口 实现:使用libevent实现http server,采用多线程处理,每个线程对应一个event base 代码: 1.socket_config.hpp #ifndef SRC_SOCKET_CONFIG_HPP_ #define SRC_SOCKET_CONFIG_HPP_ #include <string> using...

wangzhicheng2013的专栏 1057

【干货】SAP特殊库存:Q库存(项目库存)全解析,搞懂ETO模式的核心!

在 SAP 系统中,

我小时候很黑的博客 907

RedCap:一种通信技术的概述

总结起来,RedCap是一种基于数据包交换的通信技术,它提供了一种高效、可靠的数据传输机制。通过使用RedCap,我们可以轻松地发送和接收数据包,并确保数据的完整性和正确性。在上面的示例中,我们首先导入了RedCap库,并创建了一个RedCap实例。然后,我们定义了目标地址和源地址,并创建了一个数据包,其中包含了目标地址、源地址和要发送的数据。本文将介绍RedCap的基本原理和使用方法,并提供一些相关的源代码示例。RedCap还提供了其他一些功能,如数据包的重传机制、流量控制和拥塞控制等。

YgjWeb的博客 900

c++使用libevent写的httpserver

直接上代码:测试过可用。需要下载libevent库搭配着使用。外加json开源库(也可以不用,去掉相关代码即可。)// .h #pragma once class HttpServer { public: HttpServer(); ~HttpServer(); static HttpServer* Instance(){ return m_instance; } void Star...

qqwangfan的专栏 2890

31、MSP430FR2355时钟系统与低功耗模式解析

本文详细解析了MSP430FR2355的时钟系统和低功耗模式。首先介绍了时钟系统的组成,包括XT1振荡器、DCO、MODCLK、MCLK、SMCLK和ACLK的功能与配置方法。接着探讨了MSP430FR2355的五种低功耗模式及其配置要点,并分析了时钟系统与低功耗模式之间的协同关系。最后通过实际应用案例展示了如何在具体场景中优化系统功耗。文章旨在帮助开发者充分利用MSP430FR2355的时钟与低功耗特性,实现高性能、低功耗的嵌入式系统设计。

mars5的博客 195

用libevent实现一个小小的HTTP SERVER

如题,先上代码://http_server.c #include #include #include #include #include #define PORT 8080 #define SERVER_MARK "mytest http server 0.1" void http_handle(struct evhttp_request *req, void *arg); i

小豪之家 3234

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

10分钟搭建高性能嵌入式HTTP服务器:libevent evhttp完全实战

libevent 是一款成熟的事件通知库,其内置的 evhttp 模块可以让开发者用几百行代码搭建高性能嵌入式HTTP服务器,单进程即可支撑海量并发连接。本文带你从零认识 libevent evhttp,10 分钟跑通一个可处理静态文件与自定义接口的 HTTP 服务器,并附上客户端请求与调优技巧,适合新手快速上手。 ## 为什么选择 libevent evhttp 搭建嵌入式HTTP服务器?

gitblog_00620的博客 345

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

基于Libevent的HTTP Server

简单的Http Server 使用Libevent内置的http相关接口,可以很容易的构建一个Http Server,一个简单的Http Server如下: #include event.h> #include #include #include #include #include int init_win_socket() { WSADATA wsaData;

轻锋的专栏 936

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

evhttp

将之前用gsoap写的webserver改为使用libevent库。gsoap是为了实现soap协议,如果只用来实现restful风格的接口的话,就有很多多余的东西了,而且处理起来也不太方便。虽然之前使用过libevent,不过evhttp还是第一次用,还是一如既往的好用。再此记录下,方便以后取用。libevent库使得高并发响应HTTP Server的编写变得很容易。因此实际中,使用libeven

xuleisdjn的专栏 4391

2022-3-11 基于libevent/evhttp模块的简易http服务器归纳小结-与前端同事的互侃

libevent的单个base对象并不能处理多并发应用请求;libevent的多线程http服务器,实际就是tcp的多线程并发处理;libevent接收请求似乎是并发接过来,但是处理的时候会报异常;

程序员沙子的专栏 1397

libevent evhttp学习——http服务端

http服务端相对客户端要简单很多,我们仍旧使用libevent-2.1.5版本,服务端接口和2.0版本没有区别 基本流程 http服务端使用到的借口函数及流程如下 创建event_base和evhttp struct event_base *event_base_new(void); struct evhttp *evhttp_new(struct event_bas

swartz_lubel的专栏 1129

evhttp-sharp:C开发者构建高性能HTTP服务的新选择

evhttp-sharp:C#开发者构建高性能HTTP服务的新选择 项目介绍 在高度竞争的Web开发领域中,寻找一个既能满足性能需求又具备灵活性的HTTP服务器框架,对于C#开发者而言,往往是一个挑战。然而,evhttp-sharp的出现为这一难题提供了优雅的解决方案。这是一个基于流行的事件驱动库libevent2构建的C# HTTP服务器,它不仅能够提供轻量级且高效的网络处理能力,还无缝集成了大...

gitblog_00046的博客 781

零基础掌握Libevent:Nick‘s libevent manual中的10个关键示例代码详解

Libevent是一个高性能的事件驱动网络库,广泛应用于开发可扩展的网络服务器和客户端。本指南基于Nick's libevent manual项目,精选10个关键示例代码,帮助零基础开发者快速掌握Libevent的核心功能与应用场景。通过这些示例,你将学习如何利用Libevent构建高效的非阻塞IO应用,理解事件循环、缓冲事件、连接监听器等核心组件的工作原理。 ## 1. 事件驱动基础:rot1

gitblog_00773的博客 347

libevent HTTP客户端实战:evhttpclient超时设置与请求处理全指南

libevent 是 C 语言生态中最流行的事件通知库,其中的 **evhttp 客户端**(evhttpclient)是开发高性能网络程序的必备组件。本文带你快速掌握 libevent HTTP 客户端的核心用法:**evhttpclient 超时设置、请求处理流程、错误回调与重试机制**,并附完整避坑指南,助你一次写对。 ## 1. 认识 evhttpclient 的两块基石 🧱 evh

gitblog_00671的博客 167

libevent2 server http回调里面获取客户端端的ip, port, fd等待

写这个主要是防忘记,快速记忆起来! libevent2 server http回调里面获取客户端端的ip, port, fd等等,在http_internal.h文件,struct evhttp_connection里面 , 可以直接保存http回调里面的struct evhttp *request, 只要在回调里面不调用 evhttp_send_reply() 客户端文件描述符是不会关闭的,...

jun2016425的博客 3474

Libevent参考手册(初步)

1. 从一万英尺外看 Libevent Libevent 是用于编写高速可移植非阻塞 IO 应用的库,其设计目标是: 可移植性:使用 libevent 编写的程序应该可以在 libevent 支持的所有平台上工作。即使 没有好的方式进行非阻塞 IO,libevent 也应该支持一般的方式,让程序可以在受限的环 境中运行。 速度:libevent 尝试使用每个平台上最高速的非阻塞 IO 实现,并且不引入太多的额外 开销。 可扩展性:libevent 被设计为程序即使需要上万个活动套接字的时候也可以良好工作。

Clement 886

libevent 实现http server

参考链接 1 #include &lt;sys/types.h&gt; 2 #include &lt;sys/time.h&gt; 3 #include &lt;stdlib.h&gt; 4 #include &lt;err.h&gt; 5 6 #include &lt;event.h&gt; 7 #include &lt;evhttp.h&gt; 8 ...

weixin_33972649的博客 137

libevent学习之一:libevent源码的特点和结构

libevent是一个用于开发可扩展性网络服务器的基于事件驱动(event-driven)模型的网络库。Libevent有几个显著的特点: (1)事件驱动(event-driven),高性能; (2)轻量级,专注于网络,不如 ACE 那么臃肿庞大; (3)源代码相当精炼、易读; (4)跨平台,支持 Windows、Linux、*BSD和 Mac Os; (5)支持多种I/O多路复用技术,epoll、poll、dev/poll、select和kqueue等; (6)支持I/O,定时器和信号等事件;

草上爬的博客 4247
上一篇: Nginx模块开发 从url变量中key的值 来确定upstream服务器
下一篇: SQL是旧时代的产物。
大得传奇
博客等级 码龄18年 15粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值