libevent webserver in 40 lines of c

2010-07-06 22:17:02 C Views(947)

Libevent provides cross-platform asynchronous callbacks on sockets and file  descriptors.  Different operating systems have different ways of  handling this efficiently, for example linux has kernel support for this  operation which can scale to tens of thousands of sockets.  It’s all  pretty complicated but libevent makes it very simple.  Along with a  basic api that is used by highly scalable projects  like memcached and thrift, it also has asyncronus  a dns lookup api and a http server api.

Here’s an example of how simple it is to write a basic http server.

#include <sys/types.h>
#include <sys/time.h>
#include <sys/queue.h>
#include <stdlib.h>
#include <err.h>
#include <event.h>
#include <evhttp.h>

void generic_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, "Requested: %sn", evhttp_request_uri(req));
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", 8080);

/* 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, generic_handler, NULL);

event_dispatch();    /* Not reached in this code as it is now. */
evhttp_free(httpd);    return 0;
}

From: http://3.rdrail.net/blog/libevent-webserver-in-40-lines-of-c/

--EOF--

Tags:   libevent  webserver  C

Comments

jinaborner@mail15.co

That's good that people are able to take the home loans moreover, this opens up new chances.

2012-01-26 11:21:12
buy research paper

In my opinion it should be useful for everyone who needs such information!
buy research paper

2012-02-24 17:17:19
James Hern

There are not a whole lot of instances where you may need to identify the owner of an unknown cell phone number; but, I'll tell you what, when the occasion arises, a trusted and reliable reverse cell phone lookup directory is good to have at your disposal.   

2012-03-18 21:55:59

Leave a Comment

Name
Content
Verification Type the characters you see in the picture below