简单的html静态网页使用libevent
来源:互联网 发布:淘宝女装分类宝贝图片 编辑:程序博客网 时间:2024/05/16 16:17
/*************************************************************************> File Name: http_server.cpp> Author: 参考网上大神的博客> Mail: > Created Time: 2017年10月13日 星期五 15时33分16秒 ************************************************************************/#include<iostream>using namespace std;#include <event2/event.h>#include <event2/buffer.h>#include <event2/http.h>#include <cstring>bool startHttpServer(const char* ip, int port, void (*cb)(struct evhttp_request*, void *), void *arg){ //创建event_base和evhttp event_base *base = event_base_new(); evhttp* http_server = evhttp_new(base); if(!http_server) { return false; } //绑定到指定地址上 int ret = evhttp_bind_socket(http_server, ip, port & 0xFFFF); if(ret != 0) { return false; } //设置事件处理函数 evhttp_set_gencb(http_server, cb, arg); //启动事件循环,当有http请求的时候会调用指定的回调 event_base_dispatch(base); evhttp_free(http_server); return true;}void MyHttpServerHandler(struct evhttp_request* req, void* arg){ //创建要使用的buffer对象 evbuffer* buf = evbuffer_new(); if(!buf) return; //获取请求的URI const char* uri = (char*)evhttp_request_get_uri(req); //添加对应的HTTP代码 evbuffer_add_printf(buf, "<html>"); evbuffer_add_printf(buf, "<head><title>MyHttpServer</title></head>"); evbuffer_add_printf(buf, "<body>"); //根据不同的URI显示不同的页面 if(strcmp(uri, "/") == 0){ evbuffer_add_printf(buf, "<p>Welcom to my http server</p>"); } else if(strcmp(uri, "/about") == 0){ evbuffer_add_printf(buf, "<p>I love C++</p>"); } evbuffer_add_printf(buf, "</body>"); evbuffer_add_printf(buf, "</html>"); //回复给客户端 evhttp_send_reply(req, HTTP_OK, "OK", buf); evbuffer_free(buf);}int main(int argc, char** argv){ startHttpServer("127.0.0.1", 9000, MyHttpServerHandler, NULL); return 0;}
用libevent做的一个简单的http server,
编译:
g++ http_server.cpp -o http_server -levent打开浏览器,输入127.0.0.1:9000,页面显示 Welcome to my http server
输入127.0.0.1:9000/about,页面显示I love C++
阅读全文
0 0
- 简单的html静态网页使用libevent
- tomcat部署简单的html静态网页
- tomcat部署简单的html静态网页
- 使用html制作静态网页
- 使用html编写简单的网页计算器
- libevent使用的简单案例
- html+js 简单静态网页设计
- (一)libevent安装及简单的使用
- 使用html与javascript制作简单的网页时钟
- 简单的使用httpclient读取网页html例子
- 使用Docker在Nginx上运行简单的HTML网页
- 简单的HTML网页框架
- 简单的html静态分页
- libevent简单使用
- libevent简单使用小结
- libevent(一):简单使用
- HTML 静态网页
- HTML静态网页教程
- shell脚本归纳总结(二)
- python3 读取写入Excel
- eclipse导包和maven导包、lombok包
- A联合之bundle传值在xlistview中获取
- Appium+python+Android 计算器case
- 简单的html静态网页使用libevent
- svg动态添加事件
- 【项目经理之修炼(7)】《基础篇》人生游戏中的神器——谦虚
- 【EmguCv】人脸/人眼检测
- 达达租车系统(java)
- ffmpeg实现实时录音并推流的功能
- 可能是东半球最全的RxJava使用场景小结
- 论文代理发表要求
- 基于Android Studio2.1.1 进行单元测试完整教程