#include#include #include #include void httpd_handler(struct evhttp_request *req, void *arg){ struct evbuffer *buf = evbuffer_new(); evhttp_add_header(req->output_headers, "Server", "mmxcq-server"); evhttp_add_header(req->output_headers, "Content-Type", "text/html;charset=utf-8"); evhttp_add_header(req->output_headers, "Connection", "keep-alive"); evhttp_add_header(req->output_headers, "Cache-Control", "no-cache"); evbuffer_add_printf(buf,"%s","mmxcq的博客 http://blog.517car.com"); evhttp_send_reply(req, HTTP_OK, "OK", buf); evbuffer_free(buf); } int main(int argc,char * argv[]){ pid_t pid; pid = fork(); if (pid < 0) { exit(EXIT_FAILURE); }else if (pid > 0) { exit(EXIT_SUCCESS); } event_init(); struct evhttp *httpd; httpd=evhttp_start ("127.0.0.1", 9999); if (httpd == NULL) { fprintf(stderr, "Error: Unable to listen\n\n"); exit(1); } evhttp_set_timeout(httpd,3);//Set the timeout for an HTTP request. evhttp_set_gencb(httpd, httpd_handler, NULL); event_dispatch(); evhttp_free(httpd); return 0; }
然后在gcc下编译通过
$ gcc main.c -o main -levent ./main