libevent evhttp使用

一、libevent evhttp使用
1、基本流程
http服务端使用到的借口函数及流程如下
1)、创建event_base和evhttp
struct event_base *event_base_new(void);
struct evhttp *evhttp_new(struct event_base *base);
2)、绑定地址和端口
int evhttp_bind_socket(struct evhttp *http, const char *address, ev_uint16_t port);
3)、设置处理函数
void evhttp_set_gencb(struct evhttp *http,
    void (*cb)(struct evhttp_request *, void *), void *arg);
4)、派发事件循环
int event_base_dispatch(struct event_base *);

代码:

#include "event2/http.h"
#include "event2/http_struct.h"
#include "event2/event.h"
#include "event2/buffer.h"
#include "event2/dns.h"
#include "event2/thread.h"

#include <stdlib.h>
#include <stdio.h>

void HttpGenericCallback(struct evhttp_request* request, void* arg)
{
    const struct evhttp_uri* evhttp_uri = evhttp_request_get_evhttp_uri(request);
    char url[8192];
    evhttp_uri_join(con
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页