代码:

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <event2/event.h>
#include <event2/bufferevent.h>
#include <event2/http.h>
#include <event2/http_struct.h>
#include <event2/buffer.h>
#include <event2/listener.h>

void * api_index(struct evhttp_request * ev_request, void * arg)
{
char buf[1024];
//sprintf(buf, “目录名:当前目录:”);
sprintf(buf, “hello world!”);//网页根目录显示的内容
struct evbuffer* evbuff = evbuffer_new();
evbuffer_add_printf(evbuff,“%s”,buf);
evhttp_send_reply(ev_request, HTTP_OK, NULL, evbuff);
evbuffer_free(evbuff);
}

int main(int agrc, const char * argv[])
{
const char* ip = “127.0.0.1”;
int port = 6868;

struct event_config * evt_config = event_config_new();//默认配置
struct event_base * base = event_base_new_with_config(evt_config);//使用默认配置创造event_base
struct evhttp* http = evhttp_new(base);//创造http服务器,处理http请求
evhttp_set_default_content_type(http,"text/html/ charset=utf/8");//默认html格式回复客户端evhttp_set_timeout(http, 30);//tcp的sml时间为30毫秒//设置url的回调函数
evhttp_set_cb(http,"/",(void *)api_index, NULL);
//evhttp_set_cb(http,"/api/health",api_health,this);evhttp_bind_socket(http,ip,port); //绑定端口和ip地址
event_base_dispatch(base); //事件分发循环event_base_free(base);
evhttp_free(http);
event_config_free(evt_config);

}

结果:

Linux:使用libevent的http事件处理框架搭建一个http服务器相关推荐

  1. 在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  2. php开发ftp服务器搭建教程,在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  3. Linux中搭建一个ftp服务器详解

    来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道: 控制通道 , 数据通道 在ftp协议中,控制连接均是由客户端发起的,而数据连接有 ...

  4. Doom Emacs入门:通过Doom Emacs框架搭建一个基本的Python开发环境及其基本操作

    Doom Emacs入门:通过Doom Emacs框架搭建一个基本的Python开发环境及其基本操作 一.写在前面 1.1 明确目标:搭建一个完整的Python开发环境 1.2 前置工作 二.Doom ...

  5. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(五_子页_脱发指南)

    文章目录 返回总结 整体效果 组件 人物介绍块 内容介绍块 代码 独属CSS HairLossGuide.css html HairLossGuide.html 返回总结 如何利用Boostrap框架 ...

  6. 通过python利用Django框架搭建一个属于自己的免费网站(已更新)

    大家好,我是天空之城,今天给大家带来,通过python利用Django框架搭建一个属于自己的免费网站. 以下是网上找到的免费教程,https://djangogirlstaipei.gitbooks. ...

  7. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(六_子页)

    文章目录 返回总结 整体效果 组件 vedio题目 vedio博主介绍 vedio vedio用户留言 电子烟评测块 辩论块 代码 html ElectronicCigarettes.html 返回总 ...

  8. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(四_子页_戒烟小说)

    文章目录 返回总结 整体效果 思路 组件 轮播图 排行榜 轮播广告语 广告 空行 小说块 代码 独属css SmokeNote_Style.css html SmokeNote.html 返回总结 如 ...

  9. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(三_主页)

    文章目录 返回总结 整体效果 思路 各个组件代码 导航栏 LOGO 滚动时间 标题线 图词模块 页脚 代码 独属css文件 indexCss1.css html代码 index.html 返回总结 如 ...

最新文章

  1. Gradle's dependency cache may be corrupt解决方法
  2. 【PHP】常用日期函数
  3. 如何使用Hibernate批处理INSERT和UPDATE语句
  4. Java访问修饰符——用于控制可见性
  5. 系统集成资质培训 - 2013下半年系统集成资质申报及集成资质考试
  6. 【Bug解决】yum提示Another app is currently holding the yum lock; waiting for it to exit...
  7. 为什么说至强系列cpu是服务器u,至强cpu那么好,为什么日常装机的时候一般都选酷睿系列的呢?...
  8. 零零信安:攻击面管理(ASM)技术详解和实现
  9. 人工智能都可以写代码了,程序员怎么做才能不被时代淘汰?
  10. 尹博学:OceanBase Cloud正式开服,助力全球中小企业数智化升级
  11. 轻量级肝脏与肝脏瘤2.5D分割网络阅读笔记
  12. Excel VBA(02)工作簿、工作表、单元格操作
  13. 用Pytorch实现RGB2LAB,LAB2RGB。
  14. 手机一键去水印的软件有什么
  15. python通过url获取文件名和文件的后缀
  16. 关于浏览器主页被劫持问题解决办法
  17. 【cec14_func】修改版
  18. Linux_shell——第5章 一团乱麻?没这回事
  19. [2017BUAA软工]第0次个人作业
  20. 上网人不可不知的网络语言(集锦)

热门文章

  1. USB-Armory + Kali
  2. Bioinformatics Armory第5题:New Motif Discovery
  3. 最简单的JSP-Servlet案例
  4. 神经网络学习小记录72——Parameters参数量、FLOPs浮点运算次数、FPS每秒传输帧数等计算量衡量指标解析
  5. 《请停止无效努力》读书笔记脑图
  6. CoreDNS介绍与使用
  7. HTML5 + CSS3面试题整理
  8. c语言用位运算编程2的n次方,C语言中使用位运算编写程序
  9. 申宝证券-开局题材股活跃
  10. SQL Server将数据库的用户名映射到登录名